小程序文案过长,‘收起/展开’文字,createSelectorQuery 获取节点成功,boundingClientRect 返回信息null

问题描述:

wxml中id是动态生成的。 

获取节点信息是在onReady生命周期函数内延时500ms执行的,select(id)可以获取全部节点信息,boundingClientRect (rect)返回的有些有信息,有些是null。

代码如下图

解决方法:

很是费解,以为是forEach异步的问题,经过了一波波测试发现并不是,而是id首位不能是数字,要不然小程序获取不到相关信息

解决方法是:将图一中  id首位添加英文字母  例:id="a{{item.id}}"

                 将图二中  获取id方法同样添加英文字母  例  wx.createSelectorQuery().select('#a' + itemCh.id).boundingClientRect(function (rect) {})

完美解决

原文地址:https://www.cnblogs.com/i-douya/p/11643732.html