Skip to content

Tree - 树

基础用法

Level one 1
Level one 2
// html
<ja-tree :data="treeData">
</ja-tree>


// js
const treeData = [
  {
    label: 'Level one 1',
    children: [
      {
        label: 'Level two 1-1'
      },
    ],
  },
  {
    label: 'Level one 2',
    children: [
      {
        label: 'Level two 2-1',
        children: [
          {
            label: 'Level three 2-1-1',
          },
        ],
      },
      {
        label: 'Level two 2-2',
        children: [
          {
            label: 'Level three 2-2-1',
          },
        ],
      },
    ],
  }
]

自定义节点内容

这是自定义树节点 => Level one 1
这是自定义树节点 => Level one 2
<ja-tree :data="treeData">
  <template #default="{ node }">
    <span>{{ node.label }}</span>
    <button>按钮</button>
  </template>
</ja-tree>

懒加载树节点

Level one 1
Level one 2
// html
<ja-tree :data="treeData">
  <template #default="{ node }">
    <span>{{ node.label }}</span>
    <button>按钮</button>
  </template>
</ja-tree>


// js
const load = (node) => {
return new Promise((resolve) => {
  setTimeout(() => {
    resolve(
      [{
        label: 'Level 我是接口加载获取的数据 1-1'
      }])
  }, 1000)
})
}

Tree API​

Tree Attributes

参数说明类型可选值默认值
data展示数据Array--
nodeProps配置选项,具体看下表Props
nodeKey每个树节点用来作为唯一标识的属性,整棵树应该是唯一的string
expandedKeys默认展开的节点的 key 的数组string
icon自定义树节点图标组件string / ComponentArrow
lazy是否懒加载子节点,需与 load 方法结合使用booleanfalse
load加载子树数据的方法,仅当 lazy 属性为true 时生效string

Tree Attributes-nodeProps Props

方法名说明参数
label指定节点标签为节点对象的某个属性值label
children指定子树为节点对象的某个属性值children
disabled指定节点选择框是否禁用为节点对象的某个属性值disabled

Tree Events

事件名说明类型
nodeClick树节点点击时触发(node: node) => void