vue2+el-select实现分页加载更多功能

在这里插入图片描述


需求:

由于项目下拉框数据过多,一次性加载完,会有性能问题,于是希望可以增加分页加载更多功能。


实现效果:

如上图:点击“点击加载更多”按钮,实现分页加载下一页,直到最后一页,提示“已经到底啦~”


实现代码:

html

<el-selectclass="input-search"v-model="proName"remote:remote-method="getOptionList"@change="changePro":loading="sloading"size="small"clearablefilterableplaceholder="请选择所属平台/App"
><el-optionv-for="item in selectList":key="item.projectId":label="item.projectName":value="item.projectName"></el-option><template><el-row type="flex" justify="center"><p@click="loadMorePro"style="font-size: 12px;color: #1368ff;cursor: pointer;">点击加载更多</p><pv-show="left.totalPage > 1 && left.pageNum == left.totalPage"style="color: #ccc; font-size: 12px">已经到底啦~</p></el-row></template>
</el-select>

js核心方法:

// 触发下拉框加载更多
loadMorePro() {this.left.pageNum++;this.sloading = true;this.searchData = {pageNo: this.left.pageNum,pageSize: this.left.pageSize,projectName: this.left.projectName || ''};listProject(this.searchData).then(res => {if (res.data && res.data.records) {// 加载的新1页数据,与之前加载的数据合并this.selectList = [...this.selectList, ...res.data.records];// 总页数控制是否显示加载更多按钮,如果后端接口未返回,可使用total总条数计算也可this.left.totalPage = res.data.pages || 1; }this.sloading = false;}).finally(() => {this.sloading = false;});},// 监听下拉框切换changePro(name) {this.queryType = 1;this.pageNum = 1;this.left.pageNum = 1; // 需要重置this.left.projectName = name;this.getTableData();this.getOptionList();},// 获取下拉框数据getOptionList(name) {this.selectList = []; // 需要清空this.sloading = true;this.searchData = {pageNo: this.left.pageNum,pageSize: this.left.pageSize,projectName: name || ''};listProject(this.searchData).then(res => {this.sloading = false;this.selectList = res.data.records || [];this.left.totalPage = res.data.pages || 1;}).finally(() => {this.sloading = false;});},

以上,因为我的场景还需要远程搜索,所以我把remote方法也贴上了,不需要的可自行删减
希望记录的问题能帮助到你!
end~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228230.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为云(HECS)docker环境下安装jenkins

Jenkins是一个开源的自动化工具&#xff0c;可以自动化地完成构建、测试、交付或部署等任务。总之重点就是三个字&#xff1a;自动化&#xff0c;至于如何实现这些功能&#xff0c;Jenkins基于插件化的机制&#xff0c;提供了众多的插件来完成持续集成CI与持续部署CD。 【持续…

网络安全--基于Kali的网络扫描基础技术

文章目录 1. 标准ICMP扫描1.1使用Ping命令1.1.1格式1.1.2实战 1.2使用Nmap工具1.2.1格式1.2.2实战1.2.2.1主机在线1.2.2.2主机不在线 1.3使用Fping命令1.3.1格式1.3.2实战 2. 时间戳查询扫描2.1格式2.2实战 3. 地址掩码查询扫描3.1格式3.2实战 2. TCP扫描2.1TCP工作机制2.2TCP …

flask web开发学习之初识flask(一)

一、概念 flask是一个使用python编写的轻量级web框架&#xff0c;作者为Armin Ronacher&#xff08;中文名&#xff1a;阿尔敏罗纳彻&#xff09;&#xff0c;它广泛被应用于web开发和API。flask提供了简洁而灵活地方式来构建web应用&#xff0c;它不会强加太多约束&#xff0…

iOS 通用链接的配置(Universal Links)

一、打开Associated Domains 1.首先登录 苹果开发者网站 2.Certificates, Identifiers & Profiles 下的Identifiers 找到要配追的Identifiers 点进去 3.打开Associated Domains然后保存 二、更新Profile文件 如果我们使用自动的&#xff0c;可以忽略这一步&#xff0c;…

Linux详解——常用命令(二)

目录 一、常用命令 1.进程相关命令 2.vi命令 3.软件相关命令 RPM命令 YUM命令 4.用户和组相关命令 5.权限相关命令 一、常用命令 1.进程相关命令 # 1.ps 询在当前控制台上运行的进程 ps -aux 说明:查询系统中所有运行的进程&#xff0c;包括后台进程&#xff0c;其…

服务器主机安全如何保障

随着互联网的快速发展&#xff0c;服务器主机安全问题日益凸显。服务器主机是网络世界中的核心&#xff0c;其安全性关乎着整个网络系统的稳定性和可靠性。 当前&#xff0c;服务器主机面临着多种安全威胁。其中&#xff0c;网络攻击是最为常见的一种。网络攻击者利用各种手段…

linux获得帮助_如何查看命令的用法、作用

Linux获得帮助 多层次的帮助&#xff1a; whatis command --help man and info /usr/share/doc/ Red Hat documentation 、Ubuntu documentation 软件项目网站 其它网站 搜索 whatis 使用数据库来显示命令的简短描述。 [rootlocalhost ~]# whatis rm rm (1) …

【Python】torch.exp()和 torch.sigmoid()函数详解和示例

本文对torch.exp&#xff08;&#xff09;和 torch.sigmoid&#xff08;&#xff09;函数进行原理和示例讲解&#xff0c;以帮助大家理解和使用。 目录 torch.exp函数原理运行示例 torch.sigmoid&#xff08;&#xff09;函数原理运行示例torch.sigmoid相关知识 结合运行 torc…

C语言 移位操作符

<< 左移操作符>> 右移操作符 注&#xff1a;移位操作符的操作数只能是整数。 移位操作符移动的是二进制位。 整数的二进制表示有3种&#xff1a; 原码反码补码 正的整数的原码、反码、补码相同。 负的整数的原码、反码、补码是要计算的。 由负整数原码计算出反…

万界星空科技生产管理mes系统种的工艺确认流程

MES工艺流程是制造执行系统的核心部分&#xff0c;它涵盖了整个生产过程&#xff0c;包括物料管理、生产计划、生产执行、质量管理、维修保养等方面&#xff0c;可以有效地提高生产效率和产品质量。 一、确认追溯模型&#xff1a; 以工艺文件为确认对象&#xff0c;以产品生产…

景联文科技加入中国人工智能产业联盟(AIIA)数据委员会

近日&#xff0c;景联文科技加入中国人工智能产业联盟&#xff08;AIIA&#xff09;数据委员会&#xff0c;成为委员会成员单位。 中国人工智能产业发展联盟&#xff08;简称AIIA&#xff09;是在国家发改委、科技部、工信部、网信办指导下&#xff0c;由中国信息通信研究院等单…

Mybatis网址

Mybatis中文网&#xff1a;MyBatis中文网https://mybatis.net.cn/Mybatis Git 地址&#xff1a;MyBatis GitHubMyBatis has 37 repositories available. Follow their code on GitHub.https://github.com/mybatis