[youzan/vant-weapp]navbar设置监听字段造成死循环

2024-02-20 595 views
5
重现链接

https://developers.weixin.qq.com/s/ynJfohmr7KKX

Vant Weapp 版本

1.10.23

描述一下你遇到的问题。

请检查该自定义组件问题,监听字段循环的问题所在, 事由,自定义了nav-bar组件,设置backName作为属性,observers监听,赋值this.setdata,造成死循环是什么问题的存在?

重现步骤

如上代码片段

设备/浏览器

模拟器

回答

5

"backName"(event) { console.log(event) this.setData({ backName: event + 'color' }) }

这目前来看 肯定会造成死循环. 可以在内部声明一个innerValue 来操作
6

可以写个代码片段吗,没使用过这个方式,百度也搜不到相关写法

3

你参考一下 vant-weapp 源码就可以了 内部很多这样的写法

6

但是我不是很明白,因为传值是从调用页传值进来,监听从自定义组件监听没什么问题,你所指的内部是写在NavBar源码写一个监听吗?事由不是清除

1

你的代码这样写,监听到了值变化又重新setState同一个值,这样会进入死循环的。你可以在组件内部声明一个innerValue来过渡,处理你的逻辑。

2

好的我明白了