Tree 树型
... 2021-7-29 About 9 min
# Tree 树型
# 普通用法
{}
Copy
# 多选
Copy
# 配置属性
Copy
# 打开前和关闭前
{}
Copy
# 事件和自定义
Copy
# 拖拽
Copy
# 权限
Copy
# 懒加载
Copy
# Variables
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
option | 组件配置属性,详情见下面Option属性 | Object | — | — |
data | 存放结构体的数据 | Array | — | — |
# Option Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
defaultExpandAll | 是否展开节点 | Boolean | false / true | false |
dialogWidth | 弹出框宽度 | String | - | 50% |
formOption | 自定义form表单,具体参考avue-form组件(默认自带一个标题的column,可以根据配置去修改) | Object | - | - |
menu | 菜单栏 | Boolean | false / true | true |
addBtn | 新增按钮 | Boolean | false / true | true |
editBtn | 编辑按钮 | Boolean | false / true | true |
delBtn | 修改按钮 | Boolean | false / true | true |
props | 配置选项,具体看下表 | object | - | - |
filter | 是否显示搜索框 | Boolean | false / true | true |
# Column Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 节点的名称 | String | - | - |
value | 节点的值 | String | - | - |
id | 节点主键 | String | - | - |
children | 子节点 | Array | - | - |
# Props Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 指定节点标签为节点对象的某个属性值 | string | — | — |
labelText | 弹窗添加节点的名称 | string | - | 名称 |
children | 指定子树为节点对象的某个属性值 | string | — | — |
value | 指定节点选择框的值也作为节点的nodeKey | string | — | — |
# Events
事件名 | 说明 | 参数 |
---|---|---|
save | 新增节点回调 | parent, data, done,loading |
update | 修改节点回调 | parent, data, done,loading |
del | 删除节点回调 | data, done |
before-open | 打开前回调 | done, type |
before-close | 关闭前回调 | done, type |
node-click | 节点被点击时的回调 | 共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。 |
check-change | 节点选中状态发生变化时的回调 | 共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点 |
# Methods
Tree
内部使用了 Node 类型的对象来包装用户传入的数据,用来保存目前节点的状态。
Tree
拥有如下方法:
方法名 | 说明 | 参数 |
---|---|---|
filter | 对树节点进行筛选操作 | 接收一个任意类型的参数,该参数会在 filter-node-method 中作为第一个参数 |
updateKeyChildren | 通过 keys 设置节点子元素,使用此方法必须设置 node-key 属性 | (key, data) 接收两个参数,1. 节点 key 2. 节点数据的数组 |
getCheckedNodes | 若节点可被选择(即 show-checkbox 为 true ),则返回目前被选中的节点所组成的数组 | (leafOnly, includeHalfChecked) 接收两个 boolean 类型的参数,1. 是否只是叶子节点,默认值为 false 2. 是否包含半选节点,默认值为 false |
setCheckedNodes | 设置目前勾选的节点,使用此方法必须设置 node-key 属性 | (nodes) 接收勾选节点数据的数组 |
getCheckedKeys | 若节点可被选择(即 show-checkbox 为 true ),则返回目前被选中的节点的 key 所组成的数组 | (leafOnly) 接收一个 boolean 类型的参数,若为 true 则仅返回被选中的叶子节点的 keys,默认值为 false |
setCheckedKeys | 通过 keys 设置目前勾选的节点,使用此方法必须设置 node-key 属性 | (keys, leafOnly) 接收两个参数,1. 勾选节点的 key 的数组 2. boolean 类型的参数,若为 true 则仅设置叶子节点的选中状态,默认值为 false |
setChecked | 通过 key / data 设置某个节点的勾选状态,使用此方法必须设置 node-key 属性 | (key/data, checked, deep) 接收三个参数,1. 勾选节点的 key 或者 data 2. boolean 类型,节点是否选中 3. boolean 类型,是否设置子节点 ,默认为 false |
getHalfCheckedNodes | 若节点可被选择(即 show-checkbox 为 true ),则返回目前半选中的节点所组成的数组 | - |
getHalfCheckedKeys | 若节点可被选择(即 show-checkbox 为 true ),则返回目前半选中的节点的 key 所组成的数组 | - |
getCurrentKey | 获取当前被选中节点的 key,使用此方法必须设置 node-key 属性,若没有节点被选中则返回 null | — |
getCurrentNode | 获取当前被选中节点的 data,若没有节点被选中则返回 null | — |
setCurrentKey | 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 | (key) 待被选节点的 key,若为 null 则取消当前高亮的节点 |
setCurrentNode | 通过 node 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 | (node) 待被选节点的 node |
getNode | 根据 data 或者 key 拿到 Tree 组件中的 node | (data) 要获得 node 的 key 或者 data |
remove | 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 | (data) 要删除的节点的 data 或者 node |
append | 为 Tree 中的一个节点追加一个子节点 | (data, parentNode) 接收两个参数,1. 要追加的子节点的 data 2. 子节点的 parent 的 data、key 或者 node |
insertBefore | 为 Tree 的一个节点的前面增加一个节点 | (data, refNode) 接收两个参数,1. 要增加的节点的 data 2. 要增加的节点的后一个节点的 data、key 或者 node |
insertAfter | 为 Tree 的一个节点的后面增加一个节点 | (data, refNode) 接收两个参数,1. 要增加的节点的 data 2. 要增加的节点的前一个节点的 data、key 或者 node |
# Scoped Slot
name | 说明 |
---|---|
menuBtn | 按钮的卡槽 |
addBtn | 新增按钮卡槽 |
- | 节点卡槽 |