2023年末了 这bug还在 setData 如果参数是undefined 就会被过滤掉 感觉就是bug
wx:if 中使用 undefined 的 bugwx:if 把 {{ undefined }} 、 {{ undefined !== undefined }} 、 {{ undefined != undefined }} 认为是 true 复现步骤如下: [代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{show}}"[代码][代码]>aaa</[代码][代码]view[代码][代码]>[代码] 这样一个 view 组件,如果在 js 代码里把 show 初始化成 undefined,那么这个组件在页面初始渲染时的确不会被渲染,然后在 js 代码中将 show 赋值为 true [代码]this[代码][代码].setData({[代码][代码] [代码][代码]show: true[代码][代码]});[代码]那么这个 view 组件会被渲染并显示,但接下来再将 show 赋值为 undefined [代码]this[代码][代码].setData({[代码][代码] [代码][代码]show: undefined[代码][代码]});[代码]此时这个view仍旧会显示。 把判断条件换成 undefined !== undefined 或 undefined != undefined 也是如上面一样的效果 [代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{show !== undefined}}"[代码][代码]>aaa</[代码][代码]view[代码][代码]>[代码] 望尽快修复此bug
2023-12-19