[微信小程序]scrollview重新加载元素bug [这个你也不知道答案吧!]

- 当前 Bug 的表现(可附上截图)

    scroll-view列表里的组件删除,再加载新组件,新组建疑似使用了旧组件的尸体,并且旧组件的状态被保留到了新组件,无法触发reday函数


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


  • 其实这个不是bug,ready函数只会执行一次在页面布局完成的时候,你定时器执行的时候,都3秒后意思过了ready执行期才执行的定时器,那个时候不会运行ready函数了。 , 让我好好回忆一下这些知识。
  • 希望官方尽快搞定这个问题,我的项目里有很多列表是用类似模式的代码控制的,公司业务决定这样写代码会比较好,如果这个问题不能解决,那真的会非常头疼 代码片段,请注意颜色的顺序 https://developers.weixin.qq.com/s/ocAbTGmc7e5N , 你猜我会回复你不?
    • 兄弟,理解错ready函数和组件的意思了。给你改了改代码,看看效果修改你传的代码片段,效果可以了 , 这么关心我的家人,好感动啊~
    • 按照一般的想法,我有一个wx-for方式渲染的列表,对array1做的渲染,然后我用setData把array1变成另一个数组array2(),那么框架应该先把原有组件删除,再重新渲染新组件。但是小程序框架为了性能,把array2中的新元素和array1中的老元素绑定到页面上的属性做了对比,如果新元素和老元素绑定到页面上的属性的值全都没有差异,那么就不删除本应该删除的旧组件,但也不再次调用它的生命周期方法,而是直接放入新列表里显示出来,这就导致了我提交的代码片段的bug,因为我的组件的样式是由ready方法决定的。很直观的现象,不难做出这样的推理。只能说官方在优化这块真的偷懒了,没有在编译的时候多下功夫,直接无脑优化了。这么一优化我的页面是不闪烁了,可我的客户如果看到的数据是错的,这锅还是得我背。, 说的貌似很有深意,你能一条一条说么?
  • 能来个片段吗?, 有未删减版吗?
    • 我看看怎么提交代码片段,不知道这块具体流程是怎样的, 我忘记了。
    • https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html, QQ那玩意就像泡女朋友,等星星,等月亮,然后就有太阳了
    • 噗嗤。。, 哈哈哈哈。