【vue】 el-table解决分页不能筛选全部数据的问题

简介: 【vue】 el-table解决分页不能筛选全部数据的问题

前言

最近开发前端项目表格的时候,使用的是el-table,用到了对应的筛选功能,如下图所示

但发现实际只能筛选当前页,通过百度查找相关文章,发现原因是把筛选条件定义在列上,解决方法:所以我们把filter-change绑定在最外部即el-table上,参考文章:

https://blog.csdn.net/zhiyikeji/article/details/109563064,下面代码

<el-table
  :data="bookRoomList"
  :ref="bookRoomList"
  @filter-change="handleFilterChange"
  class="bookTable"
  max-height="100%"
  stripe>

此时我们还需要在对应的筛选列上面定义一个column-key来作为筛选的监听状态(filters也可以改为模型中的数据)

<el-table-column
  :filter-multiple="false"
  :filters="[
    { text: '未审批', value: '0' },
    { text: '已审批', value: '1' },
    { text: '不予审批', value: '2' },
  ]"
  column-key="aStatus"
  filter-placement="bottom-end"
  label="审批状态"
  prop="status"
  width="180">
  <template slot-scope="scope">
    <el-tag v-if="scope.row.status=='0'">未审批</el-tag>
    <el-tag type="success" v-if="scope.row.status=='1'">已审批</el-tag>
    <el-tag type="danger" v-if="scope.row.status=='2'">不予审批</el-tag>
  </template>
</el-table-column>

对应的handleFilterChange事件如下:

handleFilterChange(filters) {
  console.log(filters)
  this.getList();//此处修改为自己定义的查询函数或者其他操作
}

需要注意的是,filters是一个数组,下面的项是事先在column-key里定义好的

我这里定义的是aStatus,控制台打印的filters如下:

其中aStatus就是filters对应的value值

当选择全部或重置时filters.aStatus就是空数组

一个表格的分页不能筛选全部的问题就迎刃而解。

目录
相关文章
|
1天前
|
JavaScript
VUE——自动打包并生成dist.zip压缩包
VUE——自动打包并生成dist.zip压缩包
8 0
VUE——自动打包并生成dist.zip压缩包
|
1天前
|
JavaScript
VUE——三元表达式动态渲染样式
VUE——三元表达式动态渲染样式
4 0
|
1天前
|
JavaScript 前端开发 Shell
实现在vue中自定义主题色彩切换
实现在vue中自定义主题色彩切换
8 0
|
1天前
|
JavaScript
VUE——配置本地运行指定不同环境
VUE——配置本地运行指定不同环境
5 0
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
1027 0
|
4天前
|
JavaScript 前端开发 API
【Vue 3】一个小巧玲珑的 Vue 组件切换动画库,开源且免费!!
【Vue 3】一个小巧玲珑的 Vue 组件切换动画库,开源且免费!!
【Vue 3】一个小巧玲珑的 Vue 组件切换动画库,开源且免费!!
|
4天前
|
JavaScript 前端开发 搜索推荐
Vue 路由的hash模式和history模式有什么区别?
在Vue.js框架中,路由管理是单页面应用(SPA)不可或缺的功能。Vue 路由提供了两种模式:hash模式和history模式,这两种模式主要负责处理URL的变更而无需重新加载整个页面,实现前端路由的功能。
33 19
|
2天前
|
编解码 JavaScript 前端开发
vue cli3 PC端适配
【8月更文挑战第12天】
13 3
|
4天前
|
资源调度 JavaScript API
解锁一个尚未被 Vue 正式实现的提案或想法集合的库,真的很有趣!
解锁一个尚未被 Vue 正式实现的提案或想法集合的库,真的很有趣!
|
4天前
|
JavaScript API 开发者
另一种写 Vue 的方式
另一种写 Vue 的方式