微信小程序中隐藏的元素高宽都为0是正常的吗?
发布于 6 年前 作者 taojing 13801 次浏览 来自 官方Issues

微信小程序中隐藏的元素高宽都为0是正常的吗?不是说隐藏了但是会渲染吗?怎么隐藏了拿到的位置和高宽数据都是0呢

// page/index/index.wxml
<view class="test" hidden="true">
  <view style="height: 100rpx; width: 200rpx;">隐藏测试内容</view>
</view>

// page/index/index.js
 onLoad: function () {
    var query = wx.createSelectorQuery(); //创建节点选择器
    const that = this;
    query.select('.test').boundingClientRect(function (rect) {
      const addressWidth = rect.width;
      console.log(rect)
    }).exec();
  },

目录结构:

__运行结果:__无论是高宽还是边距都为0,如果用wx:if来实现的话能拿到但是会频繁的创建和删除组件,造成性能问题,有没人解答下,谢谢

2 回复

好的,谢谢啦

按你的意思,如果是高100,隐藏后就应该得有一大片空白了?

CSS还需要再学习。

回到顶部