美文网首页小程序微信小程序微信小程序开发
微信小程序--hidden不生效原因及解决方案

微信小程序--hidden不生效原因及解决方案

作者: Sunny旋律 | 来源:发表于2017-04-25 10:22 被阅读8843次

微信官方文档里有提到说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 隐藏不占据空间。

相关文章

网友评论

  • Sunny旋律:显示不出来你需要看看他的父布局了
  • cb9ceedb1def:楼主,在吗,<view style='margin-top:40rpx;' hidden="{{state == 2 ? 'false' : 'true'}}"> 我写这样就是不生效,我直接删掉所有,写false都不显示出来,布局最外层是flex 但是之前这样写是ok得啊崩溃了

本文标题:微信小程序--hidden不生效原因及解决方案

本文链接:https://www.haomeiwen.com/subject/sfamzttx.html