umicro / uView2.0

uView UI,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
MIT License
1.57k stars 465 forks source link

u-collapse组件中的watch监听重复,导致watch needInit监听失效 #417

Open Jerry930326 opened 2 years ago

Jerry930326 commented 2 years ago

版本

2.0.29

转载链接

github.com

重现步骤

1、布局使用u-collapse + u-collapse-item + u-grid + u-grid-item,u-collapse的初始value设置为[],u-collapse层级2层以上,u-grid列数为2,u-grid-item个数3个以上 2、在onReady函数中设置value为[0,1]

期望的结果是什么?

grid内容正常展示

实际的结果是什么?

grid内容只能展示一部分,u-collapse-item的高度不正常


74bce0b66a313ce3208a7d6a8d18a04

折叠列表的展开数据为请求服务器后的数据,需要动态展示多层级和层级下的菜单,因为watch needInit被覆盖,init方法在value变化时无法执行,导致折叠区域中的内容无法重新计算

bee7fa2c1870c716494962e2ecaa9f9

lyking90 commented 2 years ago

我也遇到了,我是通过手动调用 this.$refs.collapse.init() 解决的 // this.$nextTick(() => { // // nextTick延迟回调,否则第一次不更新 // this.$refs.collapse.init() // })