這幾天一直在看關於微信小程序的東西,在學習小程序的過程中也遇到了一些問題,下面就嘮嘮其中的一個問題。
從官方文檔可以看出,所有組件都擁有hidden屬性,該屬性控制組件是否顯示,默認是顯示的。
在練習過程中,我發現視圖組件(view)設置hidden屬性無效
例如如下布局:
1 <view hidden="true" style="display:flex;flex-direction: row;"> 2 <text>text1</text> 3 <text>text2</text> 4 </view>
你會發現hidden沒有生效。經過我實驗發現hidden元素對塊狀布局才生效,所以這段代碼里導致hidden沒有生效的罪魁禍首是display:flex。把這個去掉就可以了。
如果一定要用flex布局怎么辦?
其實我這里想用hidden無非就是想隱藏這個布局,display:none也能做到隱藏。這里可以用一個取巧的方法,動態設置display屬性(這個方式也是百度到哈哈哈),示例如下:
1 <view hidden="true" style="display:{{hideview ? none : flex}};flex-direction: row;"> 2 <text>text1</text> 3 <text>text2</text> 4 </view>
這里的hideview是在對應的js里是一個變量,由js來動態控制。