收藏
回答

自定义组件中scroll-view的scroll-into-view属性在子节点是slot时不生效

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug scroll-view 微信iOS客户端 微信小程序 devtools 模拟器 + 真机预览都可复现,微信版本任意 2.11.0

https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

最后一次编辑于  2022-12-22
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2022-12-26

    你好,不生效。因为跨shadowTree。scroll-into-view 是选择在 scroll-view 同一个 shadowTree 下的节点。是在 scroll-view 所在组件可以执行 querySelector({#ID}) 可以找到的节点。如果是 scroll-view 所在组件内的某个自定义组件里的节点:https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html,支持选择器方式,也就可以用 >>> 来选择子组件子节点。

    2022-12-26
    有用 1
    回复 1
    • Skyler
      Skyler
      08-01
      没用 ,  wx.createScrollViewContext is not a function ; 编写符合文档要求的所有条件 ;
      08-01
      回复
  • 酒抗溢出
    酒抗溢出
    06-07

    需要增加个 behaviors

    Component(

    {

    behaviors: ['wx://proxy-scroll-view'],

    }


    06-07
    有用 2
    回复 3
    • 光海里
      光海里
      06-08
      这个真的有效吗?文档里没有搜到诶,试了下也不行
      06-08
      回复
    • 王晓亮
      王晓亮
      07-23回复光海里
      没搜到但有用
      07-23
      回复
    • Skyler
      Skyler
      08-01
      哥 , 你们都是在哪里看到的 , 我文档翻烂了也没看到
      08-01
      回复
  • 杰小天
    杰小天
    2022-12-22

    这里有个相同问题,范围看着是自定义组件里的 scroll-view 的 scroll-into-view 都不生效。https://developers.weixin.qq.com/community/develop/doc/000c84f9fbc1f88a209b6f67851800?_at=1671695126134

    把 slot 改成直接是子节点,试着是 ok 的,如下图。

    --------------------------------------------

    然后,自定义组件里 scroll-view 内用 slot,就不生效了。看着 id 设置的没问题,唯一值得注意的是 scroll-view 的 Dom 级别看着不太对,是在`#shadow-root`里的,展开看着和 slot 的子节点变成同一级了,或许是 slot 的特殊之处吧。如下图

    Demo 是基于 scroll-view 官网文档的例子来改的,横滑 scroll-into-view 测试。稳定复现。附上最新代码片段:https://developers.weixin.qq.com/s/PF8SxHmG7YEJ


    2022-12-22
    有用
    回复
登录 后发表内容