如何判断视图已渲染完成
发布于 6 年前 作者 gyao 1785 次浏览 来自 问答

开发过程中有如下需求:

动态获取一个盒子的高度(因为盒子是由wx:for的内容撑起),并将该高度设置为另一容器的高度。

但在实际开发过程中发现使用selectQuery获取节点信息时,发现如下问题:例如当前wx:for的data为长度为10的array,但在获取节点信息时获取到的array为0,

此时为增加array的长度为11,执行selectQuery,获取到的array为10;

即每一次数据更新后,执行selectQuery获取节点信息时,节点还未被新数据更新,还是上一次的旧数据。

如何判断节点已被新数据渲染?

3 回复

this.setData({    list: newList},()=>{    // 就是这里啦})

mpvue也是基于vue的,可以用this.$nextTick(() => {// 这里试试})

这个应该可以通过布局来解决问题,这样就免于计算高度了。

回到顶部