微信小程序中隐藏的元素高宽都为0是正常的吗?

发布于 7 年前作者 taojing13965 次浏览最后编辑 7 年前来自 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 回复
juan82
juan821 楼6 年前

好的,谢谢啦

guiying39
guiying392 楼5 年前

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

CSS还需要再学习。