vue实现表格过滤功能本⽂实例为⼤家分享了vue实现表格过滤功能的具体代码,供⼤家参考,具体内容如下效果:
组件代码:
<template>
<div>
<input type="text" v-model="searchText">
<ul>
<li v-for="(book, index) in filterBooks" :key="index">
序号 : {{index}}, 书名 ; {{book.name}}, 价格 : {{book.price}}
</li>
</ul>
<div>
<button @click="setOrderType(2)">价格升序</button>
<button @click="setOrderType(1)">价格降序</button>
<button @click="setOrderType(0)">原始顺序</button>
</div>
</div>
</template>
<script>
export default {
name:"filter1",
data () {
return {
searchText: '',
orderType: 0, // 0:默认顺序, 1:价格降序, 2:价格升序
books: [
{name: 'Vue.js', price:50},
{name: 'Javascript', price:30},
{name: 'Css', price:40},
{name: 'Html', price:60}
]
}
},
computed: {
filterBooks () {
const {searchText, books, orderType} = this
let filterArr = new Array();
// 过滤数组过滤name键
filterArr = books.filter(p => p.name.indexOf(searchText) !== -1)
// 排序
if(orderType) {
filterArr.sort(function (p1, p2) {
filter过滤对象数组if(orderType === 1) { // 降序
return p2.price - p1.price;
} else { // 升序
return p1.price - p2.price;
}
})
}
return filterArr;
}
},
methods: {
setOrderType (orderType) {
}
}
}
</script>
<style>
</style>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论