微信官方文件裡有提到說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
隱藏不佔據空間。
以上是分析小程式hidden不生效原因及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!