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

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)
		}
	}

后记

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

相关文章:

  • spring-aop笔记
  • 【生日蛋糕——DFS剪枝优化】
  • Vue Date 今天的开始时间与结束时间
  • 【小沐学Web3D】three.js 加载三维模型(vue3)
  • HCIA-AI人工智能笔记1:大模型技术演进与发展历程
  • Jetson Nano NX 重装系统
  • 2024年12月CCF-GESP编程能力等级认证C++编程一级真题解析
  • Mysql查看执行计划、explain关键字详解(超详细)
  • 《Electron 学习之旅:从入门到实践》
  • CSSHTML新特性
  • VUE中VNode(虚拟节点)是个啥?
  • 浅谈AI落地之-加速训练
  • 【Unity3d】角色穿墙问题
  • C# --- LINQ
  • 【鸿蒙】封装日志工具类 ohos.hilog打印日志
  • 3.6、数字签名
  • 模拟String基本函数/深浅拷贝/柔性数组
  • Redis 详解
  • Spring @Bean注解使用场景二
  • HOT100——链表篇Leetcode234. 回文链表
  • 中国纪检监察刊文:力戒形式主义官僚主义关键是要坚持实事求是
  • 南宁一学校发生伤害案件,警方通报:嫌疑人死亡,2人受伤
  • 习近平就乌拉圭前总统穆希卡逝世向乌拉圭总统奥尔西致唁电
  • 新修订的《餐饮业促进和经营管理办法》公布,商务部解读
  • 共建医学人工智能高地,上海卫健委与徐汇区将在这些方面合作
  • 株洲一重病妇女被要求本人到银行取款时去世?当地警方:正在处理