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

news2024/12/30 2:35:08

在这里插入图片描述


需求:

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


实现效果:

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


实现代码:

html

<el-select
  class="input-search"
  v-model="proName"
  remote
  :remote-method="getOptionList"
  @change="changePro"
  :loading="sloading"
  size="small"
  clearable
  filterable
  placeholder="请选择所属平台/App"
>
  <el-option
    v-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>
      <p
        v-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.left.projectName = 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.coloradmin.cn/o/1275365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 7 虚拟机java项目部署tomcat

# 在 MySQL 中创建一个名为 db_vlgl 的数据库 create database db_vlgl;# 将名为 db_vlgl.sql 的 SQL 脚本导入到 db_vlgl 数据库中 mysql -uroot -p db_vlgl < db_vlgl.sql 首先安装java环境 下载安装包:jdk-19_linux-x64_bin.tar.gz_免费高速下载|百度网盘-分享无限制 …

Jinja2使用Layui报 “d is not defined“

问题出现场景在使用Jinja2渲染Layui的表格时候&#xff0c;要做自定义templte的传入 Jinja2这块本来就是支持 {{ }} 插值的模板语言&#xff0c;所以这块的第一种渲染方式会冲突 所以只能用函数返回代码块进行填充&#xff0c;不能使用插值&#xff0c;只能拼接字符串 templt…

《opencv实用探索·六》简单理解图像膨胀

1、图像膨胀原理简单理解 膨胀是形态学最基本的操作&#xff0c;都是针对白色部分&#xff08;高亮部分&#xff09;而言的。膨胀就是使图像中高亮部分扩张&#xff0c;效果图拥有比原图更大的高亮区域。 2、图像膨胀的作用 注意一般情况下图像膨胀和腐蚀是联合使用的。 &…

如何检查代理和防火墙设置

这样的错误可能会突然出现在个人计算机屏幕上&#xff0c;当访问您喜爱的网站时。这是什么原因&#xff0c;如何快速解决这个问题&#xff1f;我们将弄清楚如何检查。 关于访问问题 对网站的访问受阻实际上是一个非常常见的错误&#xff0c;它既可能是由于物理原因&#xff08…

建设银行RPA应用实践

当下&#xff0c;银行业正在从“互联网金融”时代向“新科技金融”时代迈进&#xff0c;在目前经济形势严峻、人力成本持续增加的经营背景下&#xff0c;以科技解放人力将是智能化银行发展的必然趋势。RPA技术为解决上述问题提供了崭新的路径。 RPA&#xff08;机器人流程自动…

threejs教程

应群友要求出了个小白教程&#xff0c;此外也有进阶教程。 替代之前老版本的教程。 教程案例&#xff1a; 新教程地址&#xff1a;https://www.wellyyss.cn/ys-course/#/ 教程使用的是react搭建的 高级教程主要是案例 年底比较忙估计要晚一点才整合。 后续的计划是&#xff1…

onnx nvidia cuda cudnn driver 各种版本对应

onnx 和 nvidia cuda&#xff0c; nvidia cudnn 之间对应关系 NVIDIA - CUDA | onnxruntime # 查看cuda版本 nvcc -V# 查看cudnn版本 cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2

智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用

说到三大信息技术大家都很清楚&#xff0c;指的是云计算、大数据和人工智能&#xff0c;在人工智能&#xff08;AI&#xff09;快速发展的当下&#xff0c;例如常见的大数据分析、人工智能芯片生产的智能机器人等等&#xff0c;在工作、生活、教育、金融、科技、工业、农业、娱…

CCC联盟数字车钥匙(七)——BLE连接流程

本文接上一篇CCC数字钥匙BLE概述&#xff0c;介绍BLE中相关连接流程的实现。 2、BLE流程 2.1 所有者配对连接建立 CCC中使用Bluetooth OOB&#xff08;Out of Band, 带外&#xff09;配对完成所有者配对、连接建立的流程。BLE设置分为以下两个子部分&#xff1a; BLE链路层连…

SQL手工注入漏洞测试(MySQL数据库-字符型)-墨者

———靶场专栏——— 声明&#xff1a;文章由作者weoptions学习或练习过程中的步骤及思路&#xff0c;非正式答案&#xff0c;仅供学习和参考。 靶场背景&#xff1a; 来源&#xff1a; 墨者学院 简介&#xff1a; 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

《冬日“峰“会,有情岁月》丰谷酒品鉴会以酒会友

近日,由四川广播电视台金熊猫教育管理有限公司、丰谷酒业联合呈现的《冬日“峰“会,有情岁月》丰谷酒品鉴会在成都市橡树林举行。 品鉴会上,来自建筑界相关人士齐聚一堂,共同探讨交流把酒言欢、共品丰谷美酒。 据悉,参加本次活动的嘉宾都是四川乃至全国建筑界相关人士,在就餐时…

Vue3 Router跳转传参

最近遇到这个问题router跳转传参&#xff0c;真是要了老命了。 根据网上各位大神给出的方法&#xff0c;试了 import { useRouter } from vue-routerconst router useRouter()//1. 无法跳转 router.push(name:,params:{})//2. 可以跳转, 但需要在定义router同时定义占位符&a…

搭建nfs文件目录共享

搭建nfs文件目录共享 一、简介 NFS&#xff0c;英文全称是Network File System&#xff0c;中文全称是网络文件系统&#xff0c;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计算机之间通过TCP/IP网络共享资源&#xff0c;在NFS应用中&#xff0c;本地NFS的客…

运算放大器和常见运放电路

关于运算放大器 运算放大器(Operational Amplifier), 简称运放, 是一种直流耦合, 差模输入, 单端输出(Differential-in, single-ended output)的高增益电压放大器件. 运放能产生一个比输入端电势差大数十万倍的输出电势. 因为刚发明时主要用于加减法等运算电路中, 因而得名运算…

微信号被封了怎么办

13-7 常在河边走&#xff0c;哪有不湿鞋&#xff0c;做为经常用微信做电商客服的&#xff0c;或者经常在微信上和顾客谈钱的&#xff0c;总是会被微信后台重点关注&#xff0c;一不小心就有可能被封号。 如果遇到太倒霉的时候&#xff0c;永久封号了&#xff0c;这个时候微信…

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值&#xff0c;针对不同类型&#xff0c;我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…

WebDriver+Selenium实现浏览器自动化

前言 Selenium是一款可以自动化操作浏览器的开源项目&#xff0c;最初的目的是浏览器功能的自动化测试&#xff0c;但是随着项目的发展&#xff0c;人们根据它的特性也用来做一些更多的有意思的功能而不仅仅是UI的自动化测试工具。就像Selenium官方网站上描述的那样&#xff0…

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码)

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码&#xff09; 这次项目所使用的代码如果同志们可以灵活使用&#xff0c;基本上可以解决百分之九十以上的pdf模板自动化生成。 最近博主&#xff0c;做了一个项目&#xff0c;使用reportlab制作pd…

【Linux】:信号(三)捕捉

信号捕捉 一.sigaction1.基本使用2.sa_mask字段 二.可重入函数三.volatile四.SIGCHLD信号 承接上文 果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下: 用户程序注册了SIGQUIT信…

【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)

文章目录 满屏表白代码环境需求完整代码详细分析系列文章 满屏表白代码 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0&#xff08;可选&#xff0c;这个库用于打包&#xff0c;使程序没有python环境也可以运行&#xff0c;如果想发给好朋友的话需…