lazy.vue 843 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <el-tree-select v-model="value" lazy :load="load" :props="props" />
  3. <el-divider />
  4. <VersionTag version="2.2.26" /> show lazy load label:
  5. <el-tree-select
  6. v-model="value2"
  7. lazy
  8. :load="load"
  9. :props="props"
  10. :cache-data="cacheData"
  11. />
  12. </template>
  13. <script lang="ts" setup>
  14. import { ref } from 'vue'
  15. const value = ref()
  16. const value2 = ref(5)
  17. const cacheData = [{ value: 5, label: 'lazy load node5' }]
  18. const props = {
  19. label: 'label',
  20. children: 'children',
  21. isLeaf: 'isLeaf',
  22. }
  23. let id = 0
  24. const load = (node, resolve) => {
  25. if (node.isLeaf) return resolve([])
  26. setTimeout(() => {
  27. resolve([
  28. {
  29. value: ++id,
  30. label: `lazy load node${id}`,
  31. },
  32. {
  33. value: ++id,
  34. label: `lazy load node${id}`,
  35. isLeaf: true,
  36. },
  37. ])
  38. }, 400)
  39. }
  40. </script>