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

uniapp上拉刷新下拉加载

 方法一:

z-paging 的组件库:

show-loading-more-no-more-view="false"
  • 该属性控制是否显示 "加载更多" 或 "没有更多" 的提示。如果设为 false,则不会显示这些提示。如果设为 true,当数据加载完毕后会显示 "没有更多" 的提示。
  • 默认情况下,分页组件会显示这两个状态,你可以根据需求设置为 false
fixed="true"
  • 该属性用于设置分页组件是否固定在页面的底部。如果设为 true,分页组件会固定在页面底部,不会随着页面滚动而移动。
@onRefresh="onRefresh"
  • 这是 z-paging 提供的事件,表示触发了刷新操作。当用户下拉刷新时,会触发 onRefresh 方法。
  • 在 onRefresh 方法中,你通常需要重置数据并重新加载数据列表。

安装:npm install z-paging

 

<template><view class="home-page"><z-paging ref="paging" v-model="dataList" :show-loading-more-no-more-view="false" :fixed="true"@onRefresh="onRefresh" bg-color="#ffffff" @query="queryList"><view class="top-box" slot="top"><custom :mode="1" title=" " background="transparent" :hiddenBtn="true"></custom></view><view class="list-box"><!-- 上拉刷新下拉加载的数据 --><list-item v-for="(item, index) in dataList" :key="index" :info="item"></list-item></view><qq-footer slot="empty" :show="true" :emptyText="'暂无数据'"></qq-footer></z-paging></view>
</template>
<script>export default {name: 'homepage',data() {return {dataList: [],};},onShow() {this.$store.dispatch('refresh')},methods: {onRefresh() {// 告知z-paging下拉刷新结束,这样才可以开始下一次的下拉刷新setTimeout(() => {// 1.5秒之后停止刷新动画// this.$refs.paging.complete();// this.$refs.paging.reload()}, 1500)},queryList(pageNumber, pageSize) {this.request({url: '/url/url',method: 'get',data: {pageNumber,pageSize}}).then(res => {if (res.status === 200) {this.$refs.paging.complete(res.data);}}).catch(err => {this.$refs.paging.complete(false);})},}}
</script>

  方法二:

<template><view><indexNoteList :is_null="is_null" :addEventHandel="false" @refreshNoteList="refreshNoteList" showIsOpen:list="noteList"></indexNoteList></view>
</template>
<script>import NOTE from "@/utils/note.js";export default {data() {return {is_null: false,// 是否没有更多数据noteList: [],page: 1,pageSize: 10,}},onLoad() {this.getNoteListnew(this.page); //动态列表},//上拉触底onReachBottom() {this.getNoteListnew(this.page);},//监听用户下拉刷新onPullDownRefresh() {setTimeout(() => {uni.stopPullDownRefresh();}, 200);this.init();},methods: {init() {this.setData({page: 1,// 重置为第一页noteList: [],// 清空列表is_null: false,// 重置没有更多数据的状态})this.getNoteListnew();// 重新加载数据},getNoteListnew(page = 1) {if (this.is_null) return // 如果没有更多数据,就停止请求if (page !== 1 && this.is_null == true) return;// 如果不是第一页且没有更多数据,则停止请求let formData = {pageNumber: page,pageSize: this.pageSize,}this.request({url: '/url/url',data: formData,method: 'get'}).then(res => {if (!this.rsuccess(res)) return;let arr = NOTE.filter(res.data, page == 1 ? [] : this.noteList); // 过滤数据arr = NOTE.handelList(arr);// 处理数据// 如果是第一页,直接替换数据;否则,追加数据if (page == 1) {this.noteList = arr;} else {this.noteList = this.noteList.concat(arr);}// 判断是否还有更多数据if (arr.length < this.pageSize) {this.is_null = true;} else {this.is_null = false;}this.page = page + 1; // 更新当前页码});},}}
</script>

@/utils/note.js

	//处理图片,时间等export function handelList(arr = []) {arr.forEach(v => {v = handelNote(v);})return arr;}//查重export function filter(arr = [], oldArr = []) {let ids = oldArr.map(v => v.id);return arr.filter(v => !ids.includes(v.id));}//处理单条数据export function handelNote(info) {//处理图片if (String(info.noteImg).trim()) {info.noteImg = String(info.noteImg).trim().split(',').filter(v => v);} else {info.noteImg = [];}if (String(info.tranNoteImgUrl).trim()) {info.tranNoteImgUrl = String(info.tranNoteImgUrl).trim().split(',').filter(v => v);} else {info.tranNoteImgUrl = [];}//处理时间if (!info.createTime) {info.time = '未知';} else {info.time = getTimeStr(info.createTime);}return info;}//处理时间export function getTimeStr(t) {let NewTime = new Date().getTime();if (NewTime - t < 1000 * 60 * 2) {return '刚刚';}if (NewTime - t < 1000 * 60 * 6) {return `${parseInt((NewTime-t)/60000)}分钟前`;}return dateFormat('mm-dd HH:MM', new Date(t));}//更新dom数组export function refreshNoteList(E, page) {if (E.type == 'update') {page.noteList.some((v, i) => {if (v.id == E.info.id) {page.$set(page.noteList, i, JSON.parse(JSON.stringify(E.info)));return true;}return false;});return;}if (E.type == 'delete') {page.noteList.some((v, i) => {if (v.id == E.info.id) {page.noteList.splice(i, 1);return true;}return false;});}if (E.type == 'add') {page.noteList.unshift(E.info);}}export function dateFormat(fmt, date) {let ret;let opt = {"Y+": date.getFullYear().toString(), // 年"m+": (date.getMonth() + 1).toString(), // 月"d+": date.getDate().toString(), // 日"H+": date.getHours().toString(), // 时"M+": date.getMinutes().toString(), // 分"S+": date.getSeconds().toString() // 秒// 有其他格式化字符需求可以继续添加,必须转化成字符串};for (let k in opt) {ret = new RegExp("(" + k + ")").exec(fmt);if (ret) {fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length,"0")))};};return fmt;}export function getFormatText(v, unit = '万') {if (!v) v = 0;v = Number(v);if (v < 10000) {return v;}return `${Number(Number(v / 10000).toFixed(1))}${unit}`;}export default {handelList,filter,handelNote,refreshNoteList,}

相关文章:

uniapp上拉刷新下拉加载

方法一&#xff1a; z-paging 的组件库&#xff1a; show-loading-more-no-more-view"false" 该属性控制是否显示 "加载更多" 或 "没有更多" 的提示。如果设为 false&#xff0c;则不会显示这些提示。如果设为 true&#xff0c;当数据加载完毕…...

【C++】【算法基础】快速排序

快速排序 题目 用快速排序排序长度为 n n n的整数数列。 题解 快速排序的核心思想是分而治之&#xff1a;选定一个基准值&#xff0c;将数组分为两半&#xff0c;一边比其小&#xff0c;一边比其大&#xff0c;然后再次分别选定一个基准值&#xff0c;再次操作。 #include…...

数仓工具—Hive语法之窗口函数中的order by

窗口函数中的order by 其实工作这么多年了,再加上写了这么多的文章,我觉得我还是很理解窗口函数这个东西了,毕竟在工作中用了这么多,各种row_number 排序求分组前几,各种lead/lag 代替自关联实现感觉已经得心应手了。 但是最近遇到窗口函数中的order by 的问题,然后我发…...

以旅游产品为例改写一篇系统架构风格的论文

概念: 系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的,软件系统架构风格反应了领域中众多软件系统所共有的结构和语义特性,…...

【Linux】linux编辑器-vim的命令及配置

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…...

解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)

安装tailwindcss vite自带安装了postcss&#xff0c;只需要安装tailwindcss npm install -D tailwindcss自动创建tailwind.config.js npx tailwindcss init -p/** type {import(tailwindcss).Config} */ module.exports {// 配置需要使用tailwindcss的文件content: [./src/vi…...

ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装

1. NVIDIA驱动 系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。 运行nvidia-smi: NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the lat…...

Python世界:力扣题704二分查找

Python世界&#xff1a;力扣题704二分查找 任务背景思路分析代码实现测试套件本文小结 任务背景 问题来自力扣题目704&#xff1a;Binary Search&#xff0c;大意如下&#xff1a; Given an array of integers nums which is sorted in ascending order, and an integer target…...

W55RP20-EVB-Pico评估板介绍

目录 1 简介 2 硬件资源 2.1 硬件规格 2.2 引脚定义 2.3 工作条件 3 参考资料 3.1 RP2040 数据手册 3.2 原理图 ​编辑 原理图 & 物料清单 & Gerber 文件 3.3 尺寸图&#xff08;单位&#xff1a;mm&#xff09; ​编辑 3.4 认证 3.5 参考例程 4 硬件协…...

Flink安装和Flink CDC实现数据同步

一&#xff0c;Flink 和Flink CDC 1&#xff0c; Flink Apache Flink是一个框架和分布式处理引擎&#xff0c;用于对无界和有界数据流进行有状态计算。 中文文档 Apache Flink Documentation | Apache Flink 官方文档 &#xff1a;https://flink.apache.org Flink 中文社区…...

数字化转型助手 快鲸SCRM系统为企业营销赋能

内容概要 在当今这个快速变化的商业环境中&#xff0c;数字化转型已经成为企业生存与发展的关键要素。无论是零售、制造还是服务行业&#xff0c;企业都深刻意识到传统工作模式的局限性&#xff0c;必须借助先进的技术来优化运营和提升客户体验。快鲸SCRM系统就是这样一款数字…...

浅谈Agent

目录 什么是大模型 Agent &#xff1f; 大模型Agent 有哪些部分组成? 规划&#xff08;Planning&#xff09; Planning类型 不依赖反馈的计划 基于反馈的计划 拆解子目标和任务分解方法 COT TOT GOT LLMP 反思和完善 ReAct(融合推理与执行的能力) Reflexion(动态…...

绿色能源发展关键:优化风电运维体系

根据QYResearch调研团队最新发布的《全球风电运维市场报告2023-2029》显示&#xff0c;预计到2029年&#xff0c;全球风电运维市场的规模将攀升至307.8亿美元&#xff0c;并且在接下来的几年里&#xff0c;其年复合增长率&#xff08;CAGR&#xff09;将达到12.5%。 上述图表及…...

Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量

前言 在笔者更新完Sparrow手把手教学系列后&#xff0c;原本是不打算继续更新的。但关于Sparrow系列的读者又渐渐增多&#xff0c;作为作者&#xff0c;总感觉这个系列的文章还是稍微有些不圆满&#xff0c;恐怕多少会让读者有些意兴阑珊。 最近又恰好有一点空闲时间&#xf…...

天塌了!!!SQL竟也可以做预测分析?| 商品零售额的预测

目录 0 问题背景 1 数据准备 2 问题解决 2.1 模型构建 &#xff08;1&#xff09;符号规定 &#xff08;2&#xff09;基本假设 &#xff08;3&#xff09;模型的分析与建立 2.2 模型求解 3 小结 0 问题背景 1960年—1985年全国社会商品零售额如图1 所示 表1全国社…...

VSCode本地C/C++环境配置

基本环境下载 1.我的系统是windows&#xff0c;自己先下载安装VSCode&#xff0c;网上视频实在太多&#xff0c;我建议跟着B站视频操作。 2.下载安装好后你需要明白&#xff1a;VSCode只是一个编辑工具&#xff0c;我们要写C/C代码得编译运行&#xff0c;所以我们要配置它在w…...

【智能算法应用】淘金优化算法求解二维路径规划问题

摘要 本文基于智能算法的淘金优化算法&#xff08;Gold Panning Optimization, GPO&#xff09;求解二维路径规划问题。该算法模拟淘金过程中个体寻找最优金矿路径的行为&#xff0c;利用适应度函数优化路径规划&#xff0c;能够在复杂环境下实现从起点到目标点的最优路径搜索…...

Linux挖矿病毒(kswapd0进程使cpu爆满)

一、摘要 事情起因:有台测试服务器很久没用了&#xff0c;突然监控到CPU飙到了95以上&#xff0c;并且阿里云服务器厂商还发送了通知消息&#xff0c;【阿里云】尊敬的xxh: 经检测您的阿里云服务&#xff08;ECS实例&#xff09;i-xxx存在挖矿活动。因此很明确服务器中挖矿病毒…...

【java】ArrayList与LinkedList的区别

目录 1. 说明2. 内部实现2.1 ArrayList2.2 LinkedList 3. 性能特点3.1 插入和删除操作3.2 访问操作3.1 遍历操作 4. 使用场景5. 扩容机制6. 空间开销 1. 说明 1.Java中的ArrayList和LinkedList是两种常用的集合实现类&#xff0c;都属于Java集合框架的一部分&#xff0c;但它们…...

【LangChain系列6】【Agent模块详解】

目录 前言一、LangChain1-1、介绍1-2、LangChain抽象出来的核心模块1-3、特点1-4、langchain解决的一些行业痛点1-5、安装 二、Agent模块详解2-0、Agent核心思想——React介绍2-0-1、React的介绍以及由来2-0-2、伪代码介绍React的执行顺序 2-1、Agent介绍2-1、Self ask with se…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...