el-tree搜索的使用

2023.12.11今天我学习了如何对el-tree进行搜索的功能,效果如下:

代码如下:

重点部分:给el-tree设置ref,通过监听roleName的变化过滤数据。

default-expand-all可以设置默认展开全部子节点。

check可以拿到当前节点的点击事件,比check-change好用。

 :filter-node-method="filterNode"过滤节点

:check-on-click-node="true"选中节点,复选框也能选中

<template>
        <div class="head-container">
          <el-input
            v-model="roleName"
            clearable
            placeholder="请输入角色/用户名称"
            prefix-icon="el-icon-search"
            size="small"
            style="margin-bottom: 10px"
          />
        </div>
        <el-tree
          ref="role_tree"
          :default-expand-all="true"
          :data="roleOptions"
          :expand-on-click-node="false"
          :filter-node-method="filterNode"
          :props="defaultProps"
          highlight-current
          @check="handleNodeClick"
          node-key="id"
          show-checkbox
        />
</template>
<script>
export default{
  data(){
    return{
          roleName:'',
          roleOptions: [],//角色列表
          defaultProps: {
          children: 'children',
          label: 'label'
           },
        }
      },
    watch:{
      roleName(val){
         this.$refs.role_tree.filter(val)//根据el-tree的ref进行过滤
      }
    },
    methods:{
        // 筛选节点
       filterNode(value, data) {
          if (!value) return true
         return data.label.indexOf(value) !== -1
        },
       // 当前节点的点击事件
       handleNodeClick(data){
    
       }
   }
}
</script>

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码无敌小奶龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值