微信官方文档里有提到说hidden是所有组件都有的属性,但我实际编码中发现并不是这样的!!!!
例如如下布局:
<view hidden="true" style="display:flex;flex-direction: row;">
<text>text1</text>
<text>text2</text>
</view>
你会发现hidden
没生效。经我实验发现hidden
元素对块状布局才生效,所以这段代码里导致hidden
没生效的罪魁祸首是display:flex
。把这个去掉就可以了。
如果一定要用
flex
布局怎么办?
其实这里想用hidden
无非就是想影藏这个布局,display:none
也能做到隐藏。这里可以用一个取巧的方法,动态设置display
属性,示例如下:
<view hidden="true" style="display:{{hideview ? none : flex}};flex-direction: row;">
<text>text1</text>
<text>text2</text>
</view>
这里的hideview
是在对应的js
里是一个变量,由js
来动态控制。
后话
hidden
隐藏布局,虽然隐藏了,但是还是会占空间。
display:none
隐藏不占据空间。
来源:oschina
链接:https://my.oschina.net/u/1181284/blog/1553145