var query = wx.createSelectorQuery();
query.select('.pContent').boundingClientRect()
query.exec((res) => {
console.log(res);
var pContentHeight = res[0].height;
console.log("ready", pContentHeight);
this.setData({
pContentHeight: pContentHeight
});
我想求取初始化这个pContent得高度值
但是上面那段代码我不管放到onShow,onLoad,onReady里面读取值都不准确,只有onReady是时准时不准;
但是我通过事件按钮去调用上面那段代码得话,那么就非常准确
请问是我哪里书写得问题,还是这个接口和生命周期存在BUG
是不是元素的内容是动态的 获取的时候元素内容没有得到 高度没有撑开 如果是这样吧获取元素高度的写在获取内容的回调中应该就可以了
我也遇到这个问题 没解决 很烦
我也遇到同样的问题,我有一个贴底的按钮块,用的fixed定位,但是在onReady中无法正确的取到该部分的高度,必须要设置一个setTimeout延迟一段时间才可以正确的取到
是因为你有setData吗?能贴下代码吗?
大佬,我有一个滚动的列表,请求到数据后setData,然后query.select('.xxx').boundingClientRect()第一次获取到的元素的位置信息都是0,第二次才能正确获取,请问是啥原因?
设了延迟也不行
能整个代码片段吗?
我是跨子组件查的节点,但是top,left这些值第一次获取一直是0(第二次获取就正常),dataset设的值都能正常拿到
听着没啥思路。。要实实在在跑一跑才行。。你是setTimeout弄个10s都不行吗?