当前位置:   article > 正文

el-tree实现懒加载

el-tree实现懒加载

 一、懒加载树结构

  1. <div class="hello" id="container">
  2. <el-tree
  3. ref="tree"
  4. node-key="id"
  5. :default-expanded-keys="[2]"
  6. current-node-key="2"
  7. :props="defaultProps"
  8. :check-strictly="true"
  9. @node-click="getChecked"
  10. @check="handleCheck"
  11. highlight-current
  12. :load="loadNode"
  13. lazy
  14. >
  15. </el-tree>
  16. </div>
  17. data() {
  18. defaultProps: {
  19. // children: 'children',
  20. label: 'label',
  21. isLeaf: 'leaf'
  22. }
  23. },
  24. methods: {
  25. loadNode(node, resolve) {
  26. console.log('level:=====', node.level)
  27. if (node.level === 0) {
  28. return resolve([
  29. { id: 1, label: 'region' },
  30. { id: 2, label: 'region2' }
  31. ])
  32. }
  33. if (node.level > 1) return resolve([])
  34. setTimeout(() => {
  35. const data = [
  36. {
  37. id: 3,
  38. label: '一级 3',
  39. leaf: true
  40. },
  41. {
  42. id: 4,
  43. label: 'zone'
  44. }
  45. ]
  46. resolve(data)
  47. }, 500)
  48. }
  49. }

二、懒加载并做数据回显

  1. <el-tree
  2. ref="tree"
  3. node-key="id"
  4. current-node-key="2"
  5. :props="defaultProps"
  6. :check-strictly="true"
  7. :show-checkbox="showCheckbox"
  8. :default-expanded-keys="allSelectOptions"
  9. :default-checked-keys="remainIds"
  10. @node-click="getChecked"
  11. @check="handleCheck"
  12. highlight-current
  13. :load="loadNode"
  14. lazy
  15. >
  16. </el-tree>
  17. // allSelectOptions--默认展开节点得key数组
  18. // remainIds--默认选中key
  19. // 1、defaultExpandAll 不可设置为默认展开,根据回显时,设置的default-expanded-keys?,
  20. // 若设置默认展开值,则只加载第一次,剩下走el-tree自带的懒加载;
  21. // 若未设置展开值,则首次需要全加载出来
  22. data() {
  23. return {
  24. defaultProps: {
  25. // children: 'children',
  26. label: 'label',
  27. isLeaf: 'leaf'
  28. },
  29. remainIds: [3],
  30. allSelectOptions: [1]
  31. }
  32. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/426219?site
推荐阅读
相关标签
  

闽ICP备14008679号