小程序
小游戏
企业微信
微信支付
扫描小程序码分享
setData的回调是在页面渲染完成时执行。目前碰到一个情况,setData的回调中获取某节点的top值,有时是正确的,但是概率性的会碰到图片没有渲染完成就获取值的情况。比如获取图片下方的某标签的top值,图片高度应该是310px,正常获取top值应该为310px,但是有时会获取到image标签默认高度,而不是310,即图片并没有完全渲染完成的情况。请确认下,这个是一个BUG还是我调用有问题?
12 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这个问题很奇葩 2910年了 都还有这个问题。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
哇~原来大家4年前就遇到了~ 请教大家有啥除【setTimeout】之外的方法吗~
这个问题很奇葩 0202年了 都还有这个问题。
不太清楚,只能用这个办法先解决了。也不知代码是不是哪有问题。不过感觉这个回调应该是有点问题的,如果不做其他处理,在ios上获取的高度几乎都是错误的。
代码上感觉没问题,不知道是BUG还是底层的问题
为了避免这个情况,添加了一个定时。并且在图片上添加了bindload方法,bindload="queryMultipleNodes",用来在图片加载完成后获取高度,来覆盖掉之前错误的高度。但是这样总感觉怪怪。
我手动添加了一个定时。正常获取h5ElevatorTop的值应该是342,如果去掉定时,经常会获取到240,是image标签的默认高。
你代码贴出来看看呢
是的,我使用的是setData()的回调,目前的情况是,会频繁出现未渲染完成就执行回调的情况。举例出现的条件,比如我需要在页面渲染完成时,获取节点的信息,当页面中有image标签且图片大小自适应时,经常会获取到image标签的默认高度,而小概率获取到图片的高度,而我需要的是图片的高度。
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这个问题很奇葩 2910年了 都还有这个问题。
哇~原来大家4年前就遇到了~ 请教大家有啥除【setTimeout】之外的方法吗~
这个问题很奇葩 0202年了 都还有这个问题。
不太清楚,只能用这个办法先解决了。也不知代码是不是哪有问题。不过感觉这个回调应该是有点问题的,如果不做其他处理,在ios上获取的高度几乎都是错误的。
代码上感觉没问题,不知道是BUG还是底层的问题
为了避免这个情况,添加了一个定时。并且在图片上添加了bindload方法,bindload="queryMultipleNodes",用来在图片加载完成后获取高度,来覆盖掉之前错误的高度。但是这样总感觉怪怪。
我手动添加了一个定时。正常获取h5ElevatorTop的值应该是342,如果去掉定时,经常会获取到240,是image标签的默认高。
你代码贴出来看看呢
是的,我使用的是setData()的回调,目前的情况是,会频繁出现未渲染完成就执行回调的情况。举例出现的条件,比如我需要在页面渲染完成时,获取节点的信息,当页面中有image标签且图片大小自适应时,经常会获取到image标签的默认高度,而小概率获取到图片的高度,而我需要的是图片的高度。
setData() 参数格式