taro scroll-view 下拉刷新不触发及refresherTriggered不生效

waxmsbnn  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(178)

相关平台

微信小程序

小程序基础库: 2.30.2
使用框架: Vue 3

复现步骤

1、vue3 ts 环境中, 依然不触发刷新,还是只能写成 。
但是再tsx中,因为ts声明文件中声明的emit为refresherRefresh,所以报错。初步解决方案是 但是这样的写法。
2、触发刷新后,refresherTriggered={xxxx} 不生效的问题。初步解决方案为添加key,及key的值需要每次执行下拉刷新时进行改变,
否则第二次下拉刷新refresherTriggered={xxxx} 依然不生效,但是这样会有一定的性能问题。初步判断是refresherTriggered的值发生
改变时,组件内部并未对其进行监听导致的。
3、taro版本及相关代码

"@tarojs/cli": "3.6.2",
"@tarojs/webpack5-runner": "3.6.2",
refresh: () => {
            state.proxy.refresherTriggered = true;
            nextTick(() => {
              state.proxy.refresherTriggered = false;
            })
          }

<scroll-View
          scrollY
          class={BusinessModule.business_containers_content}
          refresherEnabled
          enhanced
          showScrollbar={false}
          refresherTriggered={state.proxy.refresherTriggered}
          onRefresherrefresh={handlers.action.data.refresh}
          key={state.proxy.refresherTriggered}
        >
....
</scroll-View>

期望结果

希望可以使用正确的驼峰命名。
解决refresherTriggered不生效的问题

实际结果

refresherTriggered等使用驼峰命名
refresherTriggered正确生效

环境信息

Taro v3.6.2
  Taro CLI 3.6.2 environment info:
    System:
      OS: Windows 10
    Binaries:
      Node: 18.12.1 - D:\application\nodejs\node.EXE
      Yarn: 1.22.15 - D:\developSoft\nodeJs\node_global\yarn.CMD
      npm: 9.3.1 - D:\application\nodejs\npm.CMD
ktecyv1j

ktecyv1j1#

同样的问题,短时间更改 refresherTriggered 无效

mcdcgff0

mcdcgff02#

同样的问题,短时间更改 refresherTriggered 无效

同样碰到了

rm5edbpk

rm5edbpk3#

refresherEnabled
        refresherTriggered={refreshState}
        onRefresherRefresh={() => {
          setRefreshState(true);
          fetchData(false, 1);
          setTimeout(() => {
            setRefreshState(false);
          });
        }}
klsxnrf1

klsxnrf14#

我也遇到这个问题了 短时间内更新trigger会失效 而且是react的那个taro版本

相关问题