收藏
回答

如何解决使用`hidden`属性对`scroll-view`组件下拉刷新造成的影响?

经过本人测试,在初始 `active` 值为 `i` ( i = 0,1,2 )的情况下, `refresher` 仅对 `i`号组件有效,其他组件将无法触发下拉刷新。

代码片段:

<view hidden="{{active !== 0}}">
  <scroll-view refresher-enabled>0号组件</scroll-view>
</view>
<view hidden="{{active !== 1}}">
  <scroll-view refresher-enabled>1号组件</scroll-view>
</view>
<view hidden="{{active !== 2}}">
  <scroll-view refresher-enabled>2号组件</scroll-view>
</view>

如果替换使用了 `wx:if` ,则不会出现上述问题。

代码片段:

<view wx:if="{{active === 0}}">
  <scroll-view refresher-enabled>0号组件</scroll-view>
</view>
<view wx:if="{{active === 1}}">
  <scroll-view refresher-enabled>1号组件</scroll-view>
</view>
<view wx:if="{{active === 2}}">
  <scroll-view refresher-enabled>2号组件</scroll-view>
</view>


需求使我更需要 `hidden` 来完成功能,请问各位大佬有什么好用的解决方案吗?

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

3 个回答

  • 萧寒
    萧寒
    06-18

    动态绑定refresher-enabled的值,就是切换的时候刷新一下refresher-enabled的值,可以取hidden相反的值,如

    <view hidden="{{active !== 0}}">
      <scroll-view refresher-enabled="{{active === 0}}">0号组件</scroll-view>
    </view>
    <view hidden="{{active !== 1}}">
      <scroll-view refresher-enabled="{{active === 1}}">1号组件</scroll-view>
    </view>
    <view hidden="{{active !== 2}}">
      <scroll-view refresher-enabled="{{active === 2}}">2号组件</scroll-view>
    </view>
    


    06-18
    有用 2
    回复 1
    • 然浅
      然浅
      06-21
      可以的!感谢大佬!
      06-21
      回复
  • 👾
    👾
    06-12

    我寻思你这两段代码逻辑都不对等啊

    一个是‘!===’ 一个是‘===’

    06-12
    有用
    回复 2
    • 然浅
      然浅
      06-13
      老哥 hidden属性为true是隐藏,wx:if为false是不渲染,肯定得有个‘!’的区别啊,而且是'!=='不是'!==='😂
      06-13
      回复
    • 👾
      👾
      06-15回复然浅
      欧我看错了
      06-15
      回复
  • _天马行空_
    _天马行空_
    06-12

    版本库多少

    06-12
    有用
    回复 3
登录 后发表内容
问题标签