wx:if 把 {{ undefined }} 、 {{ undefined !== undefined }} 、 {{ undefined != undefined }} 认为是 true
复现步骤如下:
|
这样一个 view 组件,如果在 js 代码里把 show 初始化成 undefined,那么这个组件在页面初始渲染时的确不会被渲染,然后在 js 代码中将 show 赋值为 true
this .setData({ show: true }); |
那么这个 view 组件会被渲染并显示,但接下来再将 show 赋值为 undefined
this .setData({ show: undefined }); |
此时这个view仍旧会显示。
把判断条件换成 undefined !== undefined 或 undefined != undefined 也是如上面一样的效果
|
望尽快修复此bug
修正一下我3L的说法:应该说是没有在视图层中setData(只是在this.data中移除了而已)。
你好,如果你是直接设置 .setData({ something: undefined }) ,这个字段是被直接忽略的,没有被setData。这是客户端的限制,我们接下来会在编辑器中加一个强提示。
2023年末了 这bug还在 setData 如果参数是undefined 就会被过滤掉 感觉就是bug
2024年了,还在踩这个坑。。
快2023年了,这个bug还在?
我到现在还有这个问题。 第一次加载就没有问题,第二次就不行。
奇怪的是初始化时如果 show 就是 undefined,那么是正常的;后来用 setData 设置成 undefined 就没用。不知道是什么原因。
是bug,官方赶快修复啊,