vue 过滤 懒加载 使用elementUI实现树懒加载与节点过滤功能

vue 使用elementUI实现树懒加载功能以及节点过滤

 1.过滤:设置filter-node-method,值为过滤函数。

2.懒加载:点击节点时才进行该层数据的获取

 

复制代码
   <el-input placeholder="输入关键字进行过滤"
                    size="mini"
                    v-model="filterText">
          </el-input>
        </div>
        <el-tree :data="treeData"
                 :load="loadNode"
                 lazy
                 :props="defaultProps"
                 :check-on-click-node="true"
                 :accordion="true"
                 empty-text="组织机构"
                 icon-class=""
                 :filter-node-method="filterNode"
                 ref="tree"
                 :expand-on-click-node="false"
                 @node-click="handleNodeClick"></el-tree>
复制代码

 

复制代码
<script>
export default {
  data() {
    return {
      filterText: '', //关键字过滤
      props: {
        label: 'name',
        children: '',
        isLeaf: '',
      },
    }
  },
  watch: {
    filterText(val) {
      this.$refs.tree.filter(val)//监听v-model
    },
  },
  methods: {
//过滤 filterNode(value, data) {
if (!value) return true return data.name.indexOf(value) !== -1 //过滤字段为树展示的label值 },
//懒加载 loadNode(node, resolve) {
if (node.level === 0) { //掉接口 getGroupTree(0).then((res) => { const data = res.data.data return resolve(data) }) } if (node.level > 1) return resolve([]) setTimeout(() => {
//掉接口 getGroupTree(node.data.id).then((res)
=> { const data = res.data.data resolve(data) }) }, 500) }, }, } </script>
复制代码

个人记录,若存在误差,请移步官网。

具体可参考官网:https://element.eleme.cn/#/zh-CN/component/tree

posted @   骄傲一点才可爱  阅读(984)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示