ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

VUE中实现table的模糊查询相关学习

2019-07-10 15:44:01  阅读:278  来源: 互联网

标签:VUE return name 查询 item address date table id


使用VUE+element 实现纯前端的模糊查询。

关键代码

<el-table
            :data="tables"   //绑定计算之后(模糊查询之后)的数据属性
            style="width: 100%">
      <el-table-column
              prop="date"
              label="日期"
              width="180">
        <template slot-scope="scope">
          <i class="el-icon-time"></i>
          <span style="margin-left: 10px">{{ scope.row.date }}</span>
        </template>
      </el-table-column>

      <el-table-column
              prop="name"
              label="姓名"
              width="180">
        <template slot-scope="scope">
          <span style="">{{ scope.row.name }}</span>
        </template>
      </el-table-column>
      <el-table-column
              prop="address"
              label="地址">
        <template slot-scope="scope">
          <span style="">{{ scope.row.address }}</span>
        </template>
      </el-table-column>
              <el-table-column>
                <template slot-scope="scope">
                  <el-button type="danger" @click="tableDelete(scope.$index, scope.row)">删除</el-button>
                </template>
              </el-table-column>
              <el-table-column>
                <template slot-scope="scope">
                <el-button type="warning" @click="handleEdit(scope.$index, scope.row)">修改</el-button>
                </template>
              </el-table-column>
    </el-table>
  name: 'app',
  data() {
    return {
      tableData: [{
        id: '1',
        date: '2016-05-02',
        name: '王小1',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        id: '2',
        date: '2016-05-04',
        name: '王小2',
        address: '上海市普陀区金沙江路 1517 弄'
      }, {
        id: '3',
        date: '2016-05-01',
        name: '王小3',
        address: '上海市普陀区金沙江路 1519 弄'
      }, {
        id: '4',
        date: '2016-05-03',
        name: '王小4',
        address: '上海市普陀区金沙江路 1516 弄'
      }],
      NewRow: {id: '', date: '', name: '', address: ''},
      search:''
    }
   },
computed:{
     tables(){
        if(this.search) {
          return this.tableData.filter(item =>{
            return Object.keys(item).some(key => {    //1,2
              return String(item[key]).toLowerCase().indexOf(this.search) > -1    //3
            })
          }
          )
        }else return this.tableData    //4
     }
   },

注:1.Object.keys(arr)方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。

2.some()方法用于检测数组中的元素是否满足指定条件,依次执行数组的每个元素,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测;
如果没有满足条件的元素,则返回false。

3.String(item[key]) 把item[key]转为字符串

4.如果没有输入关键词,就返回所有数据

标签:VUE,return,name,查询,item,address,date,table,id
来源: https://blog.csdn.net/e1172090224/article/details/95314089

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有