el-tree实现懒加载

 一、懒加载树结构

<div class="hello" id="container">
    <el-tree
      ref="tree"
      node-key="id"
      :default-expanded-keys="[2]"
      current-node-key="2"
      :props="defaultProps"
      :check-strictly="true"
      @node-click="getChecked"
      @check="handleCheck"
      highlight-current
      :load="loadNode"
      lazy
    >
    </el-tree>
 </div>

data() {
   defaultProps: {
      // children: 'children',
      label: 'label',
       isLeaf: 'leaf'
    }
},
methods: {
    loadNode(node, resolve) {
      console.log('level:=====', node.level)
      if (node.level === 0) {
        return resolve([
          { id: 1, label: 'region' },
          { id: 2, label: 'region2' }
        ])
      }
      if (node.level > 1) return resolve([])

      setTimeout(() => {
        const data = [
          {
            id: 3,
            label: '一级 3',
            leaf: true
          },
          {
            id: 4,
            label: 'zone'
          }
        ]

        resolve(data)
      }, 500)
    }
}

二、懒加载并做数据回显

<el-tree
      ref="tree"
      node-key="id"
      current-node-key="2"
      :props="defaultProps"
      :check-strictly="true"
      :show-checkbox="showCheckbox"
      :default-expanded-keys="allSelectOptions"  
      :default-checked-keys="remainIds"
      @node-click="getChecked"
      @check="handleCheck"
      highlight-current
      :load="loadNode"
      lazy
    >
 </el-tree>
// allSelectOptions--默认展开节点得key数组
// remainIds--默认选中key
// 1、defaultExpandAll 不可设置为默认展开,根据回显时,设置的default-expanded-keys?,
// 若设置默认展开值,则只加载第一次,剩下走el-tree自带的懒加载;
// 若未设置展开值,则首次需要全加载出来
data() {
    return {
      defaultProps: {
        // children: 'children',
        label: 'label',
        isLeaf: 'leaf'
      },
      remainIds: [3],
      allSelectOptions: [1]
    }
  }

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 20:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 20:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 20:42:02       82 阅读
  4. Python语言-面向对象

    2024-04-09 20:42:02       91 阅读

热门阅读

  1. MySQL 中datatime 与 timestamp区别

    2024-04-09 20:42:02       28 阅读
  2. [阅读笔记] 电除尘器类细分市场2023年报

    2024-04-09 20:42:02       32 阅读
  3. 10. TypeScript面向对象的类(Class)

    2024-04-09 20:42:02       39 阅读
  4. 【前端基础】文字逐渐显示效果

    2024-04-09 20:42:02       32 阅读
  5. 组合模式:构建灵活的树形结构

    2024-04-09 20:42:02       31 阅读
  6. SpringBoot和SpringCloud,SpringCloudAlibaba版本依赖关系

    2024-04-09 20:42:02       36 阅读
  7. 保定市公安局依法为民赢赞誉

    2024-04-09 20:42:02       40 阅读
  8. 如何判断一个linux机器是物理机还是虚拟机

    2024-04-09 20:42:02       35 阅读
  9. Docker详细安装与使用教程:从入门到实践

    2024-04-09 20:42:02       38 阅读
  10. C++ :手动实现std::any

    2024-04-09 20:42:02       33 阅读