el-tree使用filter-node-method实现过滤

el-tree使用filter-node-method实现过滤:

实现效果:
在这里插入图片描述
在这里插入图片描述


代码实现:

html部分

<el-input style="width:95%" 
	v-model="ruleData.keyWord" @input="$forceUpdate()" 
	:placeholder="$t('warning.Please_enter_the_device_location')" 
	suffix-icon="el-icon-search">
</el-input>

<el-tree style="padding:15px 0"
	ref="treeDom"
	:filter-node-method="filterNode"
	:data="ruleData.data"
	:props="ruleData.defaultProps"
	node-key="id"
	check-on-click-node
	:expand-on-click-node="false"
	:current-node-key="ruleData.currentKey"
	:highlight-current="true"
	:default-expand-all="true"
	@node-click="handleNodeClick">
</el-tree>

data()定义部分

data(){
	return {
		ruleData:{
		    data:[],
		    currentKey:-1,
		    keyWord:"",
		    defaultProps: {
		        children: 'children',
		        label: 'locationName',
		        value:"id"
		    },
		},
	}
}

watch监听输入框文本

watch:{
      'ruleData.keyWord':function(val){
            val = val.replace(/(^\s*)|(\s*$)/g, "");
            this.$refs.treeDom.filter(val);
        }
  },

methods中定义树节点过滤函数fliterNode

filterNode(value, data) {
    if (!value) return true;
    
    return data.locationName.indexOf(value) !== -1;
},
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值