升到4.7.5以后uni-app listview增加或删除子项时列表抖动
升到4.7.5以后uni-app listview增加或删除子项时列表抖动
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win11 | HBuilderX |
产品分类:uni-app x/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:4.75
手机系统:Android
手机系统版本号:Android 13
手机厂商:华为
手机机型:荣耀100
页面类型:vue
vue版本:vue3
打包方式:云端
示例代码:
<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>更多关于升到4.7.5以后uni-app listview增加或删除子项时列表抖动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
还发现了一个情况 不知道怎么处理 在嵌套模式下,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 这个怎么让这个不生效呢 就是滚动到屏幕以外后添加数据 不改变子列表的滚动位置 之前也没事 现在出现了
更多关于升到4.7.5以后uni-app listview增加或删除子项时列表抖动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
特别奇怪 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
切换到上个版本以后 所有的问题都消失了
请提供下复现项目demo
老板 这是我们公司的项目 公司电脑都装了沙盒 代码拿不出来 就弄个嵌套外层是scroll-view内层是listview 点按钮往listview里面动态加数据(不是追加list-item 是在list-item中的view中追加view显示项) nested-scroll-header 隐藏的是 外层scroll-view 内层waterflow 这个很容易复现 header里面放一些内容让nested-scroll-body的内容在中间显示(不在最上面显示就行) 你试一下吧
回复 晒网: 是否可以写个简单demo呢 靠描述写demo复现确实太费时间了 希望能理解
回复 DCloud_Android_ST: 那等有条件了吧 这电脑上写了也弄不出去 比较麻烦
看代码吧 @DCloud_Android_ST
看下私信

