el-table实现纯前端查询功能

西瓜味的桃子 2024-07-07 17:33:02 阅读 55

<code>有时候后端返回了所有的数据,需要前端自己实现检索的功能,从网上看有很多方法,下面分享一个自己觉着好用的方法。

Element自带的筛选方法

在这里插入图片描述

<code><el-table

:data="tableData.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))"code>

style="width: 100%">code>

<el-table-column

label="Date"code>

prop="date">code>

</el-table-column>

<el-table-column

label="Name"code>

prop="name">code>

</el-table-column>

<el-table-column

align="right">code>

<template slot="header" slot-scope="scope">code>

<el-input

v-model="search"code>

size="mini"code>

placeholder="输入关键字搜索"/>code>

</template>

<template slot-scope="scope">code>

<el-button

size="mini"code>

@click="handleEdit(scope.$index, scope.row)">Edit</el-button>code>

<el-button

size="mini"code>

type="danger"code>

@click="handleDelete(scope.$index, scope.row)">Delete</el-button>code>

</template>

</el-table-column>

</el-table>

这段代码中,使用了 filter() 方法对 tableData 进行筛选。

第二个筛选方法

<template>

<div>

<el-input @input="search_input" v-model="search1"/>code>

<el-input @input="search_input" v-model="search2"/>code>

<el-table :data="typeList"></el-table>code>

</div>

</template>

<script>

export default{

data(){

return{

typeList:[

{ id:1,name:'张三',age:10},

{ id:2,name:'李四',age:20},

{ id:3,name:'王五',age:30},

],

search1:'',

search2:''

}

},

methods:{

search_input(){

//通过name和age字段进行筛选

this.typeList= this.typeList

.filter(data => !this.search1|| data.name.toLowerCase().includes(this.search1.toLowerCase()))

.filter(data => !this.search2|| String(data.age).toLowerCase().includes(String(this.search2).toLowerCase()))

}

}//注意:如果value值的类型不是string要先转成string

}

</script>

原文链接:https://blog.csdn.net/qq_53986004/article/details/132316987



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。