收藏
回答

设置scroll-view失效?

组件名称:scroll-view

调试基础库:2.11.0

我写了这样一个滚动容器,切换菜单的时候容器里的内容会随之变化,菜单栏2,3中有可滚动的内容,菜单1中内容高度不足以滚动,我用了一个数组记录三个菜单栏的滚动高度,2,3菜单互相切换的时候正常,但从菜单栏1切换到2,3的时候,scroll-top好像失效了,我在appdata里面看,高度是有变化的,但是从0变到有值的时候,scroll-view没有滚动到应该滚到的位置。

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

3 个回答

  • 社区技术运营专员-Riven
    社区技术运营专员-Riven
    2020-10-29

    你好,我们核实下,有进展同步

    2020-10-29
    有用
    回复
  • Admin²⁰²¹
    Admin²⁰²¹
    2020-10-29

    应该是要先setData idx成功后这个时候重新渲染,scroll-view组件能获取到渲染后的DOM对象,然后再setData height会有效,否则从1进入2,3的时候,scroll-view还是1的状态,还没渲染完成,scroll-view获取到的DOM还是1的旧状态,这个时候设置height不会起作用

    修改后的代码片段如下:

    https://developers.weixin.qq.com/s/8DuezsmD7LlE

    2020-10-29
    有用
    回复 5
    • 子不语
      子不语
      2020-10-29
      嗯,渲染问题,但是隔帧渲染感觉还是有点不得劲儿

      不要再问我小尾巴了啦!!!

      2020-10-29
      回复
    • 天气雨
      天气雨
      2020-10-29
      😂,感谢,你的意思是说从1进入2,3的时候,内容还没渲染出来,所以设置高度失效了吗,这个修改是让设置高度稍微延后了一点么
      2020-10-29
      回复
    • Admin²⁰²¹
      Admin²⁰²¹
      2020-10-29回复天气雨
      恩,差不多就是你说的意思。
      这里涉及到一个界面异步渲染的问题,需要时间。我做的修改就是setData idx成功并界面渲染完成(界面渲染成功后,DOM元素已经刷新了)再setData height,这个时候scroll-view是刷新后的,有内容的scroll-view
      2020-10-29
      回复
    • Admin²⁰²¹
      Admin²⁰²¹
      2020-10-29回复Admin²⁰²¹
      setData有个设置成功回调,这个回调是在渲染完成后执行的,所以在成功回调里再setData height
      2020-10-29
      回复
    • 天气雨
      天气雨
      2020-10-29回复Admin²⁰²¹
      懂了,谢谢😄
      2020-10-29
      回复
  • 子不语
    子不语
    2020-10-29

    弄一个 [ 能复现问题的简单的 ] 代码片段,我帮你看看

    https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    请学会如何「提问」(👈戳我)
    【个体工商户】微信认证问题(👈戳我)

    2020-10-29
    有用
    回复 4
登录 后发表内容
问题标签