1、filter()
filter() 过滤数组也是一个常用的操作,它用于遍历Array把某些元素过滤掉,然后把剩余的元素组成一个新数组返回(不改变原数组)。
2、includes()
filter() 过滤数组也是一个常用的操作,它用于遍历Array把某些元素过滤掉,然后把剩余的元素组成一个新数组返回(不改变原数组)。
一、简单实现模糊查找:
初始化 搜索代码:
<template>
<view class="content">
<input type="text" v-model="text" />
<view v-for="(item,index) in filterpersons" :key="index">
<view>{{item}}</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
text: '',
list: ["百度一下", "有道翻译", "360地图", "百度网盘", "360浏览器"]
}
},
computed: {
filterpersons() {
var $this = this;
return this.list.filter(function(item) {
return item.indexOf($this.text) != -1;
});
}
}
}
</script>
二、element tree树形控件:
树形控件模糊查询
:filter-node-method="filterNode"
对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏。
<el-input
placeholder="输入关键字进行过滤"
v-model="filterText">
</el-input>
<el-tree
class="filter-tree"
:data="data"
:props="defaultProps"
default-expand-all
:filter-node-method="filterNode"
ref="tree">
</el-tree>
<script>
export default {
data() {
return {
filterText: '',
data:[] //数据
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
}
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.label.indexOf(value) !== -1;
}
},
}
</script>
网友评论