layui/package/document-component/src/document/zh-CN/components/tree.md

327 lines
5.2 KiB
Markdown
Raw Normal View History

::: anchor
:::
2022-03-24 09:38:54 +00:00
::: title 基本介绍
:::
::: describe 树形组件一般用于展示具有层级关系的数据
:::
::: title 基础使用
:::
2022-05-25 16:00:40 +00:00
::: demo 使用 `lay-tree` 标签, 创建树形组件, @node-click 监听节点点击。
<template>
<lay-tree
:data="data"
2021-10-11 10:09:38 +00:00
@node-click="handleClick"
>
</lay-tree>
2021-10-11 10:09:38 +00:00
</template>
<script setup>
import { ref } from 'vue';
const data = ref([{
title: '一级1',
id: 1,
field: 'name1',
checked: true,
spread: true,
children: [{
title: '二级1-1 可允许跳转',
id: 3,
field: 'name11',
href: 'https://www.layui.com/',
children: [{
title: '三级1-1-3',
id: 23,
field: '',
children: [{
title: '四级1-1-3-1',
id: 24,
field: '',
children: [{
title: '五级1-1-3-1-1',
id: 30,
field: ''
},
{
title: '五级1-1-3-1-2',
id: 31,
field: ''
}]
}]
},
{
title: '三级1-1-1',
id: 7,
field: '',
children: [{
title: '四级1-1-1-1 可允许跳转',
id: 15,
field: '',
href: 'https://www.layui.com/doc/'
}]
},
{
title: '三级1-1-2',
id: 8,
field: '',
children: [{
title: '四级1-1-2-1',
id: 32,
field: ''
}]
}]
},
{
title: '二级1-2',
id: 4,
spread: true,
children: [{
title: '三级1-2-1',
id: 9,
field: '',
disabled: true
},
{
title: '三级1-2-2',
id: 10,
field: ''
}]
},
{
title: '二级1-3',
id: 20,
field: '',
children: [{
title: '三级1-3-1',
id: 21,
field: ''
},
{
title: '三级1-3-2',
id: 22,
field: ''
}]
}]
},
{
title: '一级2',
id: 2,
field: '',
spread: true,
children: [{
title: '二级2-1',
id: 5,
field: '',
spread: true,
children: [{
title: '三级2-1-1',
id: 11,
field: ''
},
{
title: '三级2-1-2',
id: 12,
field: ''
}]
},
{
title: '二级2-2',
id: 6,
field: '',
children: [{
title: '三级2-2-1',
id: 13,
field: ''
},
{
title: '三级2-2-2',
id: 14,
field: '',
disabled: true
}]
}]
},
{
title: '一级3',
id: 16,
field: '',
children: [{
title: '二级3-1',
id: 17,
field: '',
fixed: true,
children: [{
title: '三级3-1-1',
id: 18,
field: ''
},
{
title: '三级3-1-2',
id: 19,
field: ''
}]
},
{
title: '二级3-2',
id: 27,
field: '',
children: [{
title: '三级3-2-1',
id: 28,
field: ''
},
{
title: '三级3-2-2',
id: 29,
field: ''
}]
}]
}]);
2021-10-11 10:09:38 +00:00
function handleClick(node) {
clickNode.value = node
}
</script>
:::
2021-10-14 09:41:45 +00:00
2022-05-25 16:00:40 +00:00
::: title 选择节点
:::
::: demo 使用 `showCheckbox` 属性开启复选框
<template>
<lay-tree
:data="data"
v-model:checkedKeys="checkedKeys"
:showCheckbox="showCheckbox"
>
</lay-tree>
</template>
<script setup>
import { ref } from 'vue';
const checkedKeys = ref([30,31])
2022-05-25 16:00:40 +00:00
const showCheckbox = ref(true)
</script>
:::
::: title 关闭连线
:::
::: demo 使用 `showLine` 属性关闭节点连线
<template>
<lay-tree
:data="data"
:showLine="showLine"
>
</lay-tree>
</template>
<script setup>
import { ref } from 'vue';
const showLine=ref(false)
</script>
:::
::: title 过渡动画
:::
::: demo 使用 `collapse-transition` 属性开启展开过渡动画
<template>
<lay-tree
:data="data"
collapse-transition
>
</lay-tree>
</template>
<script setup>
import { ref } from 'vue';
</script>
:::
::: title 定义标题
:::
::: demo 使用 `title` 插槽自定义节点标题
<template>
<lay-tree
:data="data"
collapse-transition
>
<template v-slot:title="{ data }">
{{ data.id }}
</template>
</lay-tree>
</template>
<script setup>
import { ref } from 'vue';
</script>
:::
2022-01-09 17:17:03 +00:00
::: title Tree 属性
2021-10-14 09:41:45 +00:00
:::
2021-11-07 07:55:08 +00:00
::: table
2021-10-19 10:23:36 +00:00
| Name | Description | Accepted Values |
| -------------------------------- | ---------------------------------------- | --------------- |
| data | 树型组件数据,类型 TreeData \| TreeData[] | null |
| showCheckbox | 是否显示复选框 | false |
| onlyIconControl | 是否仅允许节点左侧图标控制展开收缩 | false |
| showLine | 是否开启连接线 | true |
| checkedKeys(v-model:checkedKeys) | 开启 showCheckbox 后, 选中的节点 | [] |
| collapse-transition | 是否开启展示收起动画 | false |
2021-10-19 10:22:46 +00:00
2021-11-07 07:55:08 +00:00
:::
2021-10-19 10:22:46 +00:00
2022-01-09 17:17:03 +00:00
::: title Tree 数据
2021-10-19 10:22:46 +00:00
:::
2021-11-07 07:55:08 +00:00
::: table
| Name | Description | Accepted Values |
|---------------------|-------------| --------------- |
| id | 唯一值 | - |
| title | 节点名称 | - |
| children | 子节点 | [] |
| disabled | 该节点是否禁用 | false |
| spread | 该节点是否展开 | false |
2021-10-14 09:41:45 +00:00
2021-11-07 07:55:08 +00:00
:::
2021-10-14 09:41:45 +00:00
2022-01-09 17:17:03 +00:00
::: title Tree 事件
2021-10-14 09:41:45 +00:00
:::
2021-11-07 07:55:08 +00:00
::: table
2021-10-19 10:23:36 +00:00
| Name | Description | Accepted Params |
| ---------- | --------------- | --------------- |
| node-click | 节点 click 事件 | -- |
2021-11-07 07:55:08 +00:00
2021-11-07 07:56:24 +00:00
:::
2021-12-16 09:57:59 +00:00
2022-03-29 23:44:37 +00:00
2022-01-12 06:19:06 +00:00
2022-06-23 12:27:50 +00:00
::: contributor transition
:::
::: previousNext transition
2022-03-24 08:55:08 +00:00
:::