如何判断视图已渲染完成

发布于 8 年前作者 gyao1989 次浏览最后编辑 8 年前来自 ask

开发过程中有如下需求:

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

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

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

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

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

3 回复
nashi
nashi1 楼6 年前

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

weicai
weicai2 楼6 年前

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

qianxiulan
qianxiulan3 楼6 年前

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