iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用elementUI组件实现表格的分页及搜索功能
  • 517
分享到

怎么使用elementUI组件实现表格的分页及搜索功能

2023-07-05 17:07:24 517人浏览 泡泡鱼
摘要

今天小编给大家分享一下怎么使用elementUI组件实现表格的分页及搜索功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。主

今天小编给大家分享一下怎么使用elementUI组件实现表格的分页及搜索功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    主要的UI组件:el-input、el-table、el-pagination

    效果展示:

    怎么使用elementUI组件实现表格的分页及搜索功能

     主要功能:

    ① 完成列表与分页组件的联动,可以通过分页来实现列表数据翻页。

    ② 通过在搜索栏输入关键词,在列表中展示出与关键词有关数据。

    基础设置:

    一、el-input组件的设置

    主要代码:

    <el-input  v-model="inputContent" class="searchinput" placeholder="请输入姓名或身份证进行查询" prefix-icon="el-icon-search" >    <el-button slot="append" class="searchbtn" @click="searchput">搜索</el-button></el-input>

    二、el-table组件的设置

    主要代码:

    <el-table      :data="tables[0].slice((currentPage - 1) * pageSize, currentPage*pageSize)"      >      <el-table-column        prop="name"        label="姓名"        width="150">      </el-table-column>      <el-table-column        prop="idcount"        label="身份证号"        width="300">      </el-table-column>      <el-table-column        prop="address"        label="所属地区">      </el-table-column><el-table-column        prop="cla"        label="风险预警场景">      </el-table-column><el-table-column        prop="level"        label="风险预警等级"width="120">      </el-table-column><el-table-column        prop="time"        label="风险预警时间"width="120">      </el-table-column><el-table-column        prop="result"        label="风险预警因素"width="280">      </el-table-column>    </el-table>

    在data中声明tableData的数据:

     tableData: [{            name: '张李某',            idcount: '123456789012345678',            address: '上海市普陀区金沙江路 1518 弄',cla:'重点信访风险人员',level:'高',time:'2022-05-27',result:'维稳人员,近3年矛盾纠纷频发…'          }, {            name: '张某某',            idcount: '123456789012345678',            address: '上海市普陀区金沙江路 1518 弄',cla:'重点信访风险人员',level:'高',time:'2022-05-27',result:'维稳人员,近3年矛盾纠纷频发…'          },   {            name: '张某某',            idcount: '123456789012345678',            address: '上海市普陀区金沙江路 1518 弄',cla:'重点信访风险人员',level:'高',time:'2022-05-27',result:'维稳人员,近3年矛盾纠纷频发…'          },   {            name: '张某某',            idcount: '123456789012345678',            address: '上海市普陀区金沙江路 1518 弄',cla:'重点信访风险人员',level:'高',time:'2022-05-27',result:'维稳人员,近3年矛盾纠纷频发…'          },   {            name: '张某某',            idcount: '123456789012345678',            address: '上海市普陀区金沙江路 1518 弄',cla:'重点信访风险人员',level:'高',time:'2022-05-27',result:'维稳人员,近3年矛盾纠纷频发…'          },.............

    三、el-pagination组件的设置

    主要代码:

    <el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-size="pageSize"  background="true"  layout="prev, pager, next"  :total="count"  class="fenye"></el-pagination>

    @size-change为改变每个页面展示的数据量的方法。

    @current-change为改变当前页的方法。

    在data中声明变量currentPage,pageSize,分别为默认页,以及默认尺寸。

    currentPage: 1,pageSize: 12------------------------------- methods: {        handleSizeChange(val){this.pageSize=val;},  handleCurrentChange(val){this.currentPage=val;}

    total为整个table一共拥有的数据量,该数据量的值会改变分页组件页码的个数。

    相关功能实现:

    一、el-pagination与el-table联动实现列表分页

    两者联动较为简单,只需要将列表的整体数据根据currentPage和pageSize的值进行分割:

    <el-table      :data="tables[0].slice((currentPage - 1) * pageSize, currentPage*pageSize)"      >

    tables[0]为处理好的整体列表数据(tables与tableData的关系与搜索功能有关,下面会介绍)。

    二、el-input与el-table联动实现列表搜索

    首先,需要对el-input中输入的值进行v-model双向绑定,这样可以得到输入的值,并在按钮中建立一个点击事件,因为我们要实现的功能是点击搜索按钮进行搜索,所以防止在input框中输入值后自动完成搜索,所以需要设立点击事件,以及将inputContent的值转给searchContent。

    <el-input  v-model="inputContent" class="searchinput" placeholder="请输入姓名或身份证进行查询" prefix-icon="el-icon-search" > <el-button slot="append" class="searchbtn" @click="searchput">搜索</el-button></el-input>---------------searchput(){this.searchContent=this.inputContent  console.log(this.searchContent)}  ---------------searchContent:'',inputContent:'',

     定义一个computed值tables替代tableData,首先,为了使el-pagination的total跟随搜索后的数据总数改变,所以我们要返回两个值,用数组的形式代替,tables[0]为返回的数据值,tables[1]为返回数据的长度也就是数量。

    tables我们首先将searchContent的值传递给search,然后判断,当搜索栏输入为空时,返回的就是tableData的原始数据;当搜索栏不为空时,首先用filter过滤tableData内的每一个对象数组,然后在通过keys拿到每一列数据的key值,再通过some()和indexof()判断每一列数据中的每一个key值所对应的值中有没有与search相同的元素,并返回该元素所在的数据组,这样就得到所有存在该关键字的数据。

    computed:{tables() {      const search = this.searchContent; //当将input框清空时,使列表自动展示搜索前的完整数据,并返回至首页,防止叠加搜索  if(this.inputContent==''){this.searchContent=''this.currentPage=1  return [this.tableData,this.count=this.tableData.length];  }      if (search!=='') {        return [this.tableData.filter((dataNews) => {          return Object.keys(dataNews).some((key) => {            return String(dataNews[key]).toLowerCase().indexOf(search) > -1;          });        }),this.count = this.tableData.filter((dataNews) => {          return Object.keys(dataNews).some((key) => {            return String(dataNews[key]).toLowerCase().indexOf(search) > -1;          });        }).length];      }      return [this.tableData,this.count=this.tableData.length];}}

    以上就是“怎么使用elementUI组件实现表格的分页及搜索功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: 怎么使用elementUI组件实现表格的分页及搜索功能

    本文链接: https://www.lsjlt.com/news/353928.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • C++ 生态系统中流行库和框架的贡献指南
      作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
      99+
      2024-05-15
      框架 c++ 流行库 git
    • C++ 生态系统中流行库和框架的社区支持情况
      c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
      99+
      2024-05-15
      生态系统 社区支持 c++ overflow 标准库
    • c++中if elseif使用规则
      c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
      99+
      2024-05-15
      c++
    • c++中的继承怎么写
      继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
      99+
      2024-05-15
      c++
    • c++中如何使用类和对象掌握目标
      在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
      99+
      2024-05-15
      c++
    • c++中优先级是什么意思
      c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
      99+
      2024-05-15
      c++
    • c++中a+是什么意思
      c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
      99+
      2024-05-15
      c++
    • c++中a.b什么意思
      c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
      99+
      2024-05-15
      c++
    • C++ 并发编程库的优缺点
      c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
      99+
      2024-05-15
      c++ 并发编程
    • 如何在 Golang 中备份数据库?
      在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
      99+
      2024-05-15
      golang 数据库备份 mysql git 标准库
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作