微信小程序中hidden不生效原因的解决办法
例如如下布局:
<view hidden="true"> <text>text1</text> <text>text2</text> </view>
你会发现hidden没生效。经我实验发现hidden元素对块状布局才生效,所以这段代码里导致hidden没生效的罪魁祸首是display:flex。把这个去掉就可以了。
如果一定要用flex布局怎么办?
其实这里想用hidden无非就是想影藏这个布局,display:none也能做到隐藏。这里可以用一个取巧的方法,动态设置display属性,示例如下:
<view hidden="true"> <text>text1</text> <text>text2</text> </view>
这里的hideview是在对应的js里是一个变量,由js来动态控制。
后话
hidden 隐藏布局,虽然隐藏了,但是还是会占空间。
display:none 隐藏不占据空间。