晒网
晒网
  • 发布:2025-07-11 23:22
  • 更新:2025-07-12 00:55
  • 阅读:31

【报Bug】升到4.7.5以后listview增加或删除子项时列表抖动

分类:uni-app x

产品分类: uni-app x/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 13

手机厂商: 华为

手机机型: 荣耀100

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<list-view>
<list-item v-for="(item, key) in (reportlist as reportnodes[])" :key="key" type="1">
<view>这里是第一条巡检报告</view>
<view v-for="(itemchild) in (item['ks']as reportnodeschild[])">这里是巡检报告的指示结果用for循环从数组中读【往数组中添加或删除新的数据时会抖动,整个巡检报告指示和下面的List-item都会抖 之前没有问题】</view>
</list-item>
</list-view>

大概是上面的样式 这样的东西 没有添加任何动画效果【其实想要一个平滑的插入一条数据 下面的挤压往下移动,没有属性设置】,

操作步骤:

直接往Listview中listitem下增加新的view或删除原来的view 用for循环控制

预期结果:

正常显示 不抖动

实际结果:

添加删除时都会抖动

bug描述:

类似评论列表 子列表添加或删除项时所有的列表都会抖动一下(之前没有这个问题升完以后检查项目兼容的时候发现的)

2025-07-11 23:22 负责人:无 分享
已邀请:
晒网

晒网 (作者) - 只晒网不打渔

还发现了一个情况 不知道怎么处理 在嵌套模式下,scroll-view里面包着list-view

<scroll-view ref="refscroll" type="nested" :show-scrollbar="false" :style="{height: bheight - 50 + 'px'}">

<list-view class="bodyclass" ref="commentchildlist" show-scrollbar="false" @scroll="zigundong" bounces="false"  
    :style="{width: bwidth + 'px',maxHeight: bheight + 'px'}" associative-container="nested-scroll-view" scroll-with-animation="true">  

当子列表滑动的超过一家距离后(滚动屏幕上面之外了) 再往list-view里面追加项 会自动把内层的list-view滚动到0 回到顶部了 看了文档scroll-top默认是0 这个怎么让这个不生效呢 就是滚动到屏幕以外后添加数据 不改变子列表的滚动位置 之前也没事 现在出现了

晒网

晒网 (作者) - 只晒网不打渔

特别奇怪 nested-scroll-header 有时候会被隐藏直接显示nested-scroll-body 即:nested-scroll-body里面的内容在屏幕的最上方 坐标0,0 应该是nested-scroll-header在最上面 升之前也没事 建议官方排查一下吧 猜测是scroll-top属性的问题 看升级日志有提到这块的改动
出现抖动的时候是scroll-view内层嵌入的list-view nested-scroll-header隐藏的时候是scroll-view内层嵌的waterflow

晒网

晒网 (作者) - 只晒网不打渔

切换到上个版本以后 所有的问题都消失了

要回复问题请先登录注册