hidden是...
因为 wx:if 之中的模板也可能包含数据绑定,所有当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。
同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。
相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。
一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。
所以
step 4 绑定方式控制 flag 的 true or false
bindtap='showFlag'
然后再写一下事件处理函数
showFlag:function(){
this.setData({
maskFlag:false,
oilchooseFlag:true
})
}
事件处理函数控制显隐,可以控制N个变量
还须要点确定的时侯隐藏上去,如右图
点确定的时侯隐藏
确定
oilConfirm:function(){
this.setData({
maskFlag: true,
oilchooseFlag: false
})
}
他人做法:
通过控制style的display来控制显示和隐藏:
点评:官方说明style 接收动态的式样,在运行时会进行解析,请尽量避开将静态的款式写进 style 中,以免影响渲染速率。所以最好不要使用这些方法。
至此,完成。
遮罩效果图