首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Element Table 增加搜索功能

Element Table 增加搜索功能

作者头像
tianyawhl
发布2020-02-25 12:30:25
发布2020-02-25 12:30:25
7.2K00
代码可运行
举报
文章被收录于专栏:前端之攻略前端之攻略
运行总次数:0
代码可运行

我们经常会用到搜索,可以使用计算属性: 

代码语言:javascript
代码运行次数:0
运行
复制
      <!-- 表格搜索框 -->
      <el-input
        v-model="searchContent"
        placeholder="搜索1"
        size="medium"
        style="width:200px;float:right;margin-bottom:10px;"
      ></el-input>
代码语言:javascript
代码运行次数:0
运行
复制
      <el-table :data="filterData" style="width: 100%">
        <el-table-column prop="date" label="日期" width="180"></el-table-column>
        <el-table-column prop="name" label="姓名" width="180"></el-table-column>
        <el-table-column prop="address" label="地址"></el-table-column>
      </el-table>
代码语言:javascript
代码运行次数:0
运行
复制
  //搜索数据
  computed: {
    filterData: function() {
      var input = this.searchContent && this.searchContent.toLowerCase();
      var items = this.tableData;
      var items1;
      if (input) {
        items1 = items.filter(function(item) {
          return Object.keys(item).some(function(key1) {
            return String(item[key1])
              .toLowerCase()
              .match(input);
          });
        });
      } else {
        items1 = items;
      }
      return items1;
    }
  }

但是如果有多个table都要搜索,最好使用方法,因为可以传参数(tableData 表格数据;searchContent:输入框内容)

代码语言:javascript
代码运行次数:0
运行
复制
      <el-table :data="filterData2(tableData,searchContent)" style="width: 100%" v-if="isShowTable2">
        <el-table-column prop="date" label="日期" width="180"></el-table-column>
        <el-table-column prop="name" label="姓名" width="180"></el-table-column>
        <el-table-column prop="address" label="地址"></el-table-column>
      </el-table>
代码语言:javascript
代码运行次数:0
运行
复制
    filterData2(data,searchContent) {
      //var input = this.searchContent && this.searchContent.toLowerCase();
      var input = searchContent.toLowerCase()
      var items = data;
      var items1;
      if (input) {
        items1 = items.filter(function(item) {
          return Object.keys(item).some(function(key1) {
            return String(item[key1])
              .toLowerCase()
              .match(input);
          });
        });
      } else {
        items1 = items;
      }
      return items1;
    },

总结:单个表格搜索可以使用计算属性,多个表格通过调用同一个过滤函数,这样避免代码冗余。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档