当前位置: 首页 > article >正文

uniapp scroll组件下拉刷新异步更新数据列表

前言

如图所示,下拉刷新,更新聊天列表。

开始

设置refresher-enabled=“true”,开启自定义下拉刷新
设置refresher-default-style和refresher-background,可以自定义下拉刷新的样式
@refresherrefresh为监听自定义下拉刷新被触发的事件,在里面可以写异步取数据的操作
设置refresher-triggered属性可以自定义下拉刷新的状态

      <scroll-view  class="scroll-Y" 
      		scroll-y="true"
      		refresher-enabled="true"
      		refresher-default-style="white"
			refresher-background="#121214"
			@refresherrefresh="getChatList('refresh')" 
			:refresher-triggered="refresherTriggered">
			<view class="chat-list-item" 
				v-for="(item,index) in chatList" :key="item.id"
				@click="goChat(item)">
				. . .
				</view>
			</view>
		</scroll-view>
let refresherTriggered = ref(false)
async function getChatList(type){
		 (type == 'refresh') && (refresherTriggered.value = true)
		let res = await ... // 异步操作
		if(type == 'refresh'){
		    // 加倒计时是让下拉刷新的效果稍微长一些,有个肉眼看到的过渡效果
			let timer = setTimeout(()=>{
				refresherTriggered.value = false;
				clearTimeout(timer)
			},500)
		}
	}

后记

在此记录这个问题的解决方法,并能提供一些思路给正在有此困扰的朋友。有任何问题可以留言一起讨论。


http://www.kler.cn/a/587651.html

相关文章:

  • 基于SSM + JSP 的图书商城系统
  • 云原生服务网格:微服务通信的智能基础设施
  • Android安全支付-整体架构-KeyStore2-APP到Framework层的调用
  • Spring Cloud 与 Spring Cloud Alibaba 微服务开发流程详解:解耦之道
  • Qt6编译安装linguist语言家
  • JavaScript性能优化指南:聚焦DOM操作优化
  • Flink术语
  • 深度学习在医疗影像诊断中的应用与实现
  • 论文笔记 - ULTRA-SPARSE MEMORY NETWORK
  • python速通小笔记-------1.容器
  • 严格把控K8S集群中的操作权限,为普通用户生成特定的kubeconfig文件
  • 打包当前Ubuntu镜像 制作Ubuntu togo系统
  • 从零开始学机器学习——分类器详解
  • 基于UniApp + Vue3开发的智能汉字转拼音工具
  • 查找sql中涉及的表名称
  • MambaTab:表格数据处理的新利器
  • 基于Asp.net的汽车租赁管理系统
  • 机器学习中的激活函数是什么起什么作用
  • 百年匠心焕新居:约克VRF中央空调以科技赋能健康理想家
  • [特殊字符] C语言经典案例整理 | 附完整运行效果