收藏
回答

setData的回调

setData的回调是在页面渲染完成时执行。目前碰到一个情况,setData的回调中获取某节点的top值,有时是正确的,但是概率性的会碰到图片没有渲染完成就获取值的情况。比如获取图片下方的某标签的top值,图片高度应该是310px,正常获取top值应该为310px,但是有时会获取到image标签默认高度,而不是310,即图片并没有完全渲染完成的情况。请确认下,这个是一个BUG还是我调用有问题?

回答关注问题邀请回答
收藏

12 个回答

  • 新新新新新、
    新新新新新、
    2019-07-01

    这个问题很奇葩 2910年了 都还有这个问题。

    2019-07-01
    有用 1
    回复
  • 仉~
    仉~
    2021-12-21

    哇~原来大家4年前就遇到了~ 请教大家有啥除【setTimeout】之外的方法吗~

    2021-12-21
    有用
    回复
  • Razer
    Razer
    2020-10-01

    这个问题很奇葩 0202年了 都还有这个问题。

    2020-10-01
    有用
    回复
  • M.J
    M.J
    2017-09-07

    不太清楚,只能用这个办法先解决了。也不知代码是不是哪有问题。不过感觉这个回调应该是有点问题的,如果不做其他处理,在ios上获取的高度几乎都是错误的。

    2017-09-07
    有用
    回复
  • 朱成昊
    朱成昊
    2017-09-07

    代码上感觉没问题,不知道是BUG还是底层的问题

    2017-09-07
    有用
    回复
  • M.J
    M.J
    2017-09-07

    为了避免这个情况,添加了一个定时。并且在图片上添加了bindload方法,bindload="queryMultipleNodes",用来在图片加载完成后获取高度,来覆盖掉之前错误的高度。但是这样总感觉怪怪。

    2017-09-07
    有用
    回复
  • M.J
    M.J
    2017-09-07


    我手动添加了一个定时。正常获取h5ElevatorTop的值应该是342,如果去掉定时,经常会获取到240,是image标签的默认高。

    2017-09-07
    有用
    回复
  • 朱成昊
    朱成昊
    2017-09-07

    你代码贴出来看看呢

    2017-09-07
    有用
    回复
  • M.J
    M.J
    2017-09-07

    是的,我使用的是setData()的回调,目前的情况是,会频繁出现未渲染完成就执行回调的情况。举例出现的条件,比如我需要在页面渲染完成时,获取节点的信息,当页面中有image标签且图片大小自适应时,经常会获取到image标签的默认高度,而小概率获取到图片的高度,而我需要的是图片的高度。

    2017-09-07
    有用
    回复
  • 朱成昊
    朱成昊
    2017-09-07

    setData() 参数格式

    字段类型必填描述最低版本
    dataObject这次要改变的数据
    callbackFunction回调函数1.5.0


    2017-09-07
    有用
    回复

正在加载...

登录 后发表内容