(本来不想写的,但是这个坑害我花费了很多时间,写一下让大家避免踩坑)
taro版本是:2.2.7,如果其他版本,其实解决的办法大同小异,逻辑上差不多
问题:
- taro的createSelectorQuery在web端获取数据不正确,在小程序没问题?
- createSelectorQuery获取dom实例信息
setTimeout(()=>{ Taro.nextTick(() => { // 使用 Taro.nextTick 模拟 setData 已结束,节点已完成渲 Taro.createSelectorQuery().in(this.$scope).select('.yx__adaptiveHeight') .boundingClientRect() .exec(res => { const obj = res[0] this.domInfo = obj console.log(this.domInfo,'+++++++==',res) }) }) },20000)原因:h5获取数据不正确,加setTimeout延迟处理,小程序获取正常。可不加settimeout。
-

本文记录了在 Taro 2.2.7 版本中使用 createSelectorQuery 在 Web 端获取 DOM 实例信息时遇到的问题及解决方案。通过 setTimeout 和 Taro.nextTick 方法的结合使用解决了 H5 环境下数据获取不准确的问题。
1566





