最近用到了elementUI的节点过滤事件,效果如下,当输入关键字搜索的时候,它会将所有含有关键字的节点都显示出来。
废话不多说直接上代码:
1、:filter-node-method这个就是我们的过滤节点的函数,
2、filterText就是我们要过滤的内容
3、我这里给input设置了一个change事件,意味着,每次输入完值,就在该函数里调用过滤节点的方法
html
<el-input v-model="filterText" @change="filterChange"></el-input>
<el-tree
ref="tree2"
node-key="nodeId"
:data="courseList"
:props="defaultProps"
@current-change="nodeClick"
highlight-current="true"
:default-expanded-keys="defaultCheckNode"
:default-checked-keys="defaultCheckNode"
:filter-node-method="filterNode"
></el-tree>
js
filterNode:function (value,data) {
if (!value) return true;
return data.nodeName.indexOf(value) !== -1;
},
filterChange:function () {
// 这里每当输入的数据有变化就触发原生的过滤节点这个函数
this.$refs.tree2.filter(app.filterText);
}
data数据
filterText:"",
注意:这里的:filter-node-method方法,官网的文档说明