解决uniapp scroll-view下拉刷新无法复位

解决uniapp scroll-view下拉刷新无法复位

属性

refresher-triggered :设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发

方法

@refresherrefresh:自定义下拉刷新被触发

问题:

当开启scroll-view下拉刷新功能时,发现下拉之后无法复位了
在这里插入图片描述

解决方法

动态设置refresher-triggered的值,当触发下拉刷新时,refresher-triggered = true;当下拉刷新执行完之后refresher-triggered = false。

示例
<template>
    <view>
        <scroll-view style="height: 300px; background-color:red" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered" @refresherrefresh="onRefresh"></scroll-view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                triggered: false
            }
        },
        methods: {
            onRefresh() {
                this.triggered= true;
                setTimeout(() => {
                    this.triggered = false;
                }, 1000)
            },
        }
    }
</script>
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 `uniapp` 中使用 `scroll-view` 组件时,下拉刷新的内容可以通过设置 `enablePullDownRefresh` 属性来实现。而下拉复位则可以通过 `scroll-view` 组件的 `scroll-view-refresher` 插槽来实现。 具体步骤如下: 1. 在 `scroll-view` 组件上添加 `refresher-enabled` 属性,并设置为 `true`,表示开启下拉刷新功能。 2. 在 `scroll-view` 组件上添加 `refresher-threshold` 属性,并设置为下拉刷新的阈值,即下拉到多少距离才触发下拉刷新。 3. 在 `scroll-view` 组件中添加一个 `scroll-view-refresher` 插槽,用于显示下拉刷新的内容。 4. 在 `scroll-view-refresher` 插槽中添加一个 `uni-load-more` 组件,用于下拉复位。 完整示例代码如下: ``` <scroll-view refresher-enabled refresher-threshold="80" @scrolltoupper="onRefresh"> <scroll-view-refresher> <!-- 下拉刷新的内容 --> <view>下拉刷新...</view> <uni-load-more :show="isLoading" :text="loadingText"></uni-load-more> </scroll-view-refresher> <!-- scroll-view 的内容 --> <view>scroll-view 内容</view> </scroll-view> ``` 其中,`onRefresh` 方法用于在下拉刷新时触发,可以在该方法中进行下拉刷新的操作。 ``` methods: { onRefresh() { // 下拉刷新操作 this.isLoading = true; this.loadingText = '正在刷新...'; // 模拟刷新完成 setTimeout(() => { this.isLoading = false; this.loadingText = '刷新成功'; }, 2000); } } ``` 在 `onRefresh` 方法中,通过设置 `isLoading` 和 `loadingText` 属性来控制 `uni-load-more` 组件的显示和文本。当下拉刷新完成时,将 `isLoading` 设置为 `false`,并将 `loadingText` 设置为刷新成功的文本。此时,`uni-load-more` 组件会隐藏,同时 `scroll-view` 组件会自动进行下拉复位

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值