diff --git a/src/_common b/src/_common index a0550e969..4dc0ebb13 160000 --- a/src/_common +++ b/src/_common @@ -1 +1 @@ -Subproject commit a0550e96937b58f77a692c6742724f8c9d752d26 +Subproject commit 4dc0ebb13ab40e37705aaff430d9792a5bc95e1d diff --git a/src/tree/__tests__/debug.md b/src/tree/__tests__/debug.md index 5e8f651b4..cebbe0395 100644 --- a/src/tree/__tests__/debug.md +++ b/src/tree/__tests__/debug.md @@ -15,8 +15,6 @@ tree 针对性测试命令: ```bash # 执行单测 npx vitest ./src/tree/__tests__/ -# 更新单测快照 -npx vitest --updateSnapshot ./src/tree/__tests__/ ``` ## 调试界面 diff --git a/src/tree/_example/activable.vue b/src/tree/_example/activable.vue index 63d4ea6c6..1ca747582 100644 --- a/src/tree/_example/activable.vue +++ b/src/tree/_example/activable.vue @@ -69,12 +69,18 @@ export default { methods: { onClick(context) { console.info('onClick', context); + const { node } = context; + console.info(node.value, 'actived:', node.actived); }, onActive(value, context) { console.info('onActive', value, context); + const { node } = context; + console.info(node.value, 'actived:', node.actived); }, propOnActive(value, context) { console.info('propOnActive', value, context); + const { node } = context; + console.info(node.value, 'actived:', node.actived); }, toggleActivable() { this.activable = !this.activable; diff --git a/src/tree/_example/checkable.vue b/src/tree/_example/checkable.vue index 9fb61ecdd..04bf7c201 100644 --- a/src/tree/_example/checkable.vue +++ b/src/tree/_example/checkable.vue @@ -152,12 +152,18 @@ export default { methods: { onClick(context) { console.info('onClick:', context); + const { node } = context; + console.info(node.value, 'checked:', node.checked); }, onChange(checked, context) { console.info('onChange:', checked, context); + const { node } = context; + console.info(node.value, 'checked:', node.checked); }, propOnChange(checked, context) { console.info('propOnChange:', checked, context); + const { node } = context; + console.info(node.value, 'checked:', node.checked); }, selectInvert() { const { tree } = this.$refs; diff --git a/src/tree/_example/controlled.vue b/src/tree/_example/controlled.vue index 77c19a6c8..13d038e3a 100644 --- a/src/tree/_example/controlled.vue +++ b/src/tree/_example/controlled.vue @@ -169,24 +169,34 @@ export default { methods: { onClick(context) { console.info('onClick:', context); + const { node } = context; + console.info(node.value, 'checked:', node.checked); + console.info(node.value, 'expanded:', node.expanded); + console.info(node.value, 'actived:', node.actived); }, onChange(vals, context) { console.info('onChange:', vals, context); const checked = vals.filter((val) => val !== '2.1'); console.info('节点 2.1 不允许选中'); this.checked = checked; + const { node } = context; + console.info(node.value, 'checked:', node.checked); }, onExpand(vals, context) { console.info('onExpand:', vals, context); const expanded = vals.filter((val) => val !== '2'); console.info('节点 2 不允许展开'); this.expanded = expanded; + const { node } = context; + console.info(node.value, 'expanded:', node.expanded); }, onActive(vals, context) { console.info('onActive:', vals, context); const actived = vals.filter((val) => val !== '2'); console.info('节点 2 不允许激活'); this.actived = actived; + const { node } = context; + console.info(node.value, 'actived:', node.actived); }, }, }; diff --git a/src/tree/_example/debug-vscroll.vue b/src/tree/_example/debug-vscroll.vue index 0436ec5ed..fb3106da3 100644 --- a/src/tree/_example/debug-vscroll.vue +++ b/src/tree/_example/debug-vscroll.vue @@ -28,6 +28,11 @@ 插入根节点 + + + + + -
+
+ Tree Empty Data +

csr test ./src/tree/_example/debug-vscroll.vue 1`] +
+
+
+
+ + + filter: + + +
+
+ +
+
+
+
+
+
@@ -146620,1487 +146664,2075 @@ exports[`csr snapshot test > csr test ./src/tree/_example/debug-vscroll.vue 1`] class="t-tree__vscroll-cursor" style="transform: translate(0, 0px);" /> -
-
- -
-
-
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` -
-
-
-
-

- 禁用整个 tree -

-
-
-
-
-
- -
-
+ + +
-
+ +
- -
-
-
+ 添加子节点 + + +
-
- -
-
+ +
- + + + + + + +
- - - - - -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- - -
-
- -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- - -
-
- -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- -
+
+
+
+ + + +
- -
- +
-
-
-
-
-
-
-

- 禁用指定节点 -

-
-
-
-
+ + + +
-
-
- -
-
-
+ 添加子节点 + + +
-
- -
-
+ +
- + + +
- - - - - -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- - -
-
- -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- - -
-
- -
+
+
+
+ + + +
- - - - - -
+
+
+
+ + + +
- -
+
+
+
+ + + +
- -
- +
-
-
-
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/draggable.vue 1`] = ` -
-
-
-
- + + +
- - - - - - + +
+
+
+
+ + + +
- - - - - - + +
+
+
+
+ + + +
- - - - - - + +
+
+
+
+ + + +
- - - 1.1.1.1 + 添加子节点 - -
-
- - +
+
+
+
+ + + +
- - - - - - + +
+
+
+
+ + + +
- - - 1.1.2.1 + 添加子节点 - -
-
- - +
+
+
+
+ + + +
- - - - - - + +
-
- - +
+
+ + + + +
+ +
+
+
+
+ + + +
- - - 2.2 + 添加子节点 - + +
- +
-
-
-
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/empty.vue 1`] = ` -
-
-
-
-

- 默认为空状态 -

-
-
-
+ + + + + + + + +
+ + +
+
-
-
-
-
-
-
-

- 设置 empty 属性为指定字符串 -

-
-
-
+ + + + +
+ + +
+
-
-
-
-
-
-
-
-
-
-

- jsx 形式 -

-
-
-
+ + + + +
+ + +
+
-
+
-
-

- slot 形式 -

-
-
-
-
-
-
-
+ style="height: 100px;" + />
`; -exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = `
csr test ./src/tree/_example/expand-all.vue 1`] = ` class="t-space t-space-vertical" style="gap: 10px;" > +
+

+ 禁用整个 tree +

+
@@ -148122,24 +148763,22 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` class="t-form__item t-form-item__" >
csr test ./src/tree/_example/expand-all.vue 1`] = ` class="t-form__item t-form-item__" >
csr test ./src/tree/_example/expand-all.vue 1`] = ` class="t-space-item" >
csr test ./src/tree/_example/expand-all.vue 1`] = ` tag="div" >
@@ -148225,21 +148862,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` /> - + + 1 - +
@@ -148262,21 +148911,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` /> - + + 1.1 - +
@@ -148285,21 +148946,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - + + 1.1.1 - +
@@ -148308,21 +148981,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - + + 1.1.2 - +
@@ -148345,21 +149030,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` /> - + + 1.2 - +
@@ -148368,21 +149065,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - - + + + 1.2.1 - +
@@ -148391,21 +149100,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - + + 1.2.2 - +
@@ -148428,21 +149149,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` /> - + + 2 - +
@@ -148451,21 +149184,33 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - + + 2.1 - +
@@ -148474,30 +149219,34 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = ` ignore="active" trigger="expand" /> - + + 2.2 - +
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = ` -
@@ -148505,11 +149254,59 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = class="t-space t-space-vertical" style="gap: 10px;" > +
+

+ 禁用指定节点 +

+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+ +
csr test ./src/tree/_example/expand-level.vue 1`] =
@@ -148544,21 +149341,32 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = /> - + + 1 - +
@@ -148581,21 +149389,100 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = /> - + + 1.1 - +
+ + +
+
+ + +
+
@@ -148618,21 +149505,100 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = /> - + + 1.2 - + +
+
+ + +
+
+ +
@@ -148655,21 +149621,32 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = /> - + + 2 - +
@@ -148678,21 +149655,32 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = ignore="active" trigger="expand" /> - + + 2.1 - +
@@ -148701,16 +149689,27 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = ignore="active" trigger="expand" /> - + + 2.2 - +
@@ -148720,9 +149719,10 @@ exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] =
`; -exports[`csr snapshot test > csr test ./src/tree/_example/expand-mutex.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/draggable.vue 1`] = `
csr test ./src/tree/_example/expand-mutex.vue 1`] = >
-
-
-
-
- -
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
- -
-
-
-
-
- -
csr test ./src/tree/_example/expand-mutex.vue 1`] = tag="div" >
csr test ./src/tree/_example/expand-mutex.vue 1`] =
csr test ./src/tree/_example/expand-mutex.vue 1`] = - 2 + 1.1
-
-
-
-
-
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/filter.vue 1`] = ` -
-
-
-
-

- 默认状态 -

-
-
-
-

- 过滤动作由 filter 属性的变更触发,所以不能只修改传递给 filter 属性内部的数据,应当在条件变化时变更 filter 属性。 -

-

- 清空过滤条件时,应设置 filter 属性为 null,来触发 tree 组件展示状态还原。 -

-

- allowFoldNodeOnFilter 属性默认为 false,此时过滤状态下展开的路径节点无法被收起。 -

-
-
-
-
-
-
-
-
- - - filter: - - -
-
- -
-
-
-
-
-
-
-
-
-
-
csr test ./src/tree/_example/filter.vue 1`] = ` - 1 + 1.1.1
- - - - + /> - 2 + 1.1.1.1
-
-
-
-
-
-
-
-
-

- allowFoldNodeOnFilter="true" -

-
-
-
-

- allowFoldNodeOnFilter 属性设置为 true 时,过滤状态下展开的节点,允许点击收起,注意这会影响到 tree 组件当前的展开状态数据。 -

-

- 每次变更过滤条件时,会重设节点展开状态,将命中节点的路径节点展开。 -

-

- 当清空过滤条件时,将会还原为设置过滤条件之前时的展开状态。 -

-
-
-
-
-
-
+ -
- - - filter: - - -
-
- -
-
-
-
+ 1.1.1.2 + +
-
-
-
-
-
-
csr test ./src/tree/_example/filter.vue 1`] = ` - 1 + 1.1.2
+ + + + 1.1.2.1 + + +
+
+ + + + 1.1.2.2 + + +
+
csr test ./src/tree/_example/filter.vue 1`] = `
+
+ + + + 2.1 + + +
+
+ + + + 2.2 + + +
@@ -149284,7 +150078,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/filter.vue 1`] = `
`; -exports[`csr snapshot test > csr test ./src/tree/_example/icon.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/empty.vue 1`] = `
csr test ./src/tree/_example/icon.vue 1`] = `

- 属性设置 jsx 形式 + 默认为空状态

- -
- - - - - - - - 1 - - -
-
- - - - - - - - 2 - - -
-
+ 暂无数据 +
@@ -149395,86 +150124,94 @@ exports[`csr snapshot test > csr test ./src/tree/_example/icon.vue 1`] = `
-

- slot 形式 +

+ 设置 empty 属性为指定字符串

- -
- - - - - - - - 1 - - + 😊 空数据(string) +
+
+
+
+
+
+
+
+
+
+
+

+ jsx 形式 +

+
+
+
+
+
+ 😊 空数据( empty props )
-
- - - - - - - - 2 - - +
+
+
+
+
+
+
+
+

+ slot 形式 +

+
+
+
+
+
+ 😊 空数据(slot)
- +
@@ -149482,7 +150219,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/icon.vue 1`] = `
`; -exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/expand-all.vue 1`] = `
csr test ./src/tree/_example/label.vue 1`] = `
-

- 属性设置 jsx 形式 -

+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
csr test ./src/tree/_example/label.vue 1`] = `
@@ -149549,18 +150351,53 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` - - value: t679, label: 1 - + 1
+ + + + + + + + 1.1 + + +
+
csr test ./src/tree/_example/label.vue 1`] = ` /> - - value: t680, label: 1.1 - + 1.1.1 + + +
+
+ + + + 1.1.2
+ + + + + + + + 1.2 + + +
+
csr test ./src/tree/_example/label.vue 1`] = ` /> - - value: t681, label: 1.2 - + 1.2.1 + + +
+
+ + + + 1.2.2
@@ -149638,16 +150554,14 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` - - value: t682, label: 2 - + 2
@@ -149663,16 +150577,14 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` - - value: t683, label: 2.1 - + 2.1
@@ -149688,9 +150600,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` - - value: t684, label: 2.2 - + 2.2
@@ -149699,6 +150609,14 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = `
+
+`; + +exports[`csr snapshot test > csr test ./src/tree/_example/expand-level.vue 1`] = ` +
@@ -149706,18 +150624,11 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` class="t-space t-space-vertical" style="gap: 10px;" > -
-

- slot 形式 -

-
csr test ./src/tree/_example/label.vue 1`] = `
@@ -149752,112 +150663,95 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` /> - +
- +
- +
@@ -149880,36 +150774,21 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` /> - +
@@ -149918,36 +150797,21 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` ignore="active" trigger="expand" /> - +
@@ -149956,31 +150820,16 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` ignore="active" trigger="expand" /> - +
@@ -149990,10 +150839,9 @@ exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = `
`; -exports[`csr snapshot test > csr test ./src/tree/_example/lazy.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/expand-mutex.vue 1`] = `
csr test ./src/tree/_example/lazy.vue 1`] = ` >
-
-

- 数据延迟加载 -

-
-
-
-

- 默认为点击加载数据。 -

-

- valueMode 默认为 'onlyLeaf'。选中父节点时,子节点由于未加载,无法更新和获取选中状态,导致无法更新父节点的状态。 -

-

- 所以使用延迟加载时,推荐 valueMode 设置为 'all' 或者 'parentFirst'。 -

-
-
csr test ./src/tree/_example/lazy.vue 1`] = `
csr test ./src/tree/_example/lazy.vue 1`] = ` class="t-space-item" >
csr test ./src/tree/_example/lazy.vue 1`] = `
@@ -150153,32 +150964,21 @@ exports[`csr snapshot test > csr test ./src/tree/_example/lazy.vue 1`] = ` /> - +
@@ -150201,27 +151001,16 @@ exports[`csr snapshot test > csr test ./src/tree/_example/lazy.vue 1`] = ` /> - +
@@ -150231,10 +151020,10 @@ exports[`csr snapshot test > csr test ./src/tree/_example/lazy.vue 1`] = `
`; -exports[`csr snapshot test > csr test ./src/tree/_example/line.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/filter.vue 1`] = `
csr test ./src/tree/_example/line.vue 1`] = ` >
+
+

+ 默认状态 +

+
+
+
+

+ 过滤动作由 filter 属性的变更触发,所以不能只修改传递给 filter 属性内部的数据,应当在条件变化时变更 filter 属性。 +

+

+ 清空过滤条件时,应设置 filter 属性为 null,来触发 tree 组件展示状态还原。 +

+

+ allowFoldNodeOnFilter 属性默认为 false,此时过滤状态下展开的路径节点无法被收起。 +

+
+
-
- -
-
-
-
- -
-
-
-
-
-
-
- -
+ class="t-input-adornment__prepend" + > + + filter: + +
+ class="t-input__wrap" + data-v-58473978="" + > +
+ +
+
-
-
-
-
-
-

- 默认样式 -

-
csr test ./src/tree/_example/line.vue 1`] = ` tag="div" >
csr test ./src/tree/_example/line.vue 1`] = `
- - - - - 1.1 - - -
-
- - - - - 1.2 - - -
-
csr test ./src/tree/_example/line.vue 1`] = `
+
+
+
+
+
+
+
+
+

+ allowFoldNodeOnFilter="true" +

+
+
+
+

+ allowFoldNodeOnFilter 属性设置为 true 时,过滤状态下展开的节点,允许点击收起,注意这会影响到 tree 组件当前的展开状态数据。 +

+

+ 每次变更过滤条件时,会重设节点展开状态,将命中节点的路径节点展开。 +

+

+ 当清空过滤条件时,将会还原为设置过滤条件之前时的展开状态。 +

+
+
+
+
+
+
+
+
+ + + filter: + + +
+
+ +
+
+
+
+
+
+
+
+
+
+
- csr test ./src/tree/_example/line.vue 1`] = ` - 2.1 + 1
- csr test ./src/tree/_example/line.vue 1`] = ` - 2.1.1 - - -
-
- - - - - - - - - 2.1.1.1 + 2
+
+
+
+
+
+
+`; + +exports[`csr snapshot test > csr test ./src/tree/_example/icon.vue 1`] = ` +
+
+
+
+

+ 属性设置 jsx 形式 +

+
+
+
+
- + > + + + + - 2.1.1.1.1 + 1
- + > + + + + - 2.1.1.1.2 + 2
+
+
+
+
+
+
+
+
+

+ slot 形式 +

+
+
+
+
- + > + + + + - 2.1.2 + 1
- + > + + + + - 2.2 + 2
+
+
+
+
+
+
+`; + +exports[`csr snapshot test > csr test ./src/tree/_example/label.vue 1`] = ` +
+
+
+
+

+ 属性设置 jsx 形式 +

+
+
+
+
@@ -150745,26 +151663,24 @@ exports[`csr snapshot test > csr test ./src/tree/_example/line.vue 1`] = ` - 3 + + value: t5734, label: 1 +
- csr test ./src/tree/_example/line.vue 1`] = ` /> - 3.1 + + value: t5735, label: 1.1 +
- csr test ./src/tree/_example/line.vue 1`] = ` /> - 3.2 + + value: t5736, label: 1.2 +
+ + + + + + + + + value: t5737, label: 2 + + + +
+
csr test ./src/tree/_example/line.vue 1`] = ` /> - 4 + + value: t5738, label: 2.1 + + + +
+
+ + + + + value: t5739, label: 2.2 +
@@ -150840,26 +151822,21 @@ exports[`csr snapshot test > csr test ./src/tree/_example/line.vue 1`] = ` class="t-space-item" >
-

- 使用属性结合 jsx 来自定义呈现 +

+ slot 形式

csr test ./src/tree/_example/line.vue 1`] = `
-
-
-
csr test ./src/tree/_example/line.vue 1`] = ` /> - + + - 1 + + label: 1, value: t5740 + - +
-
-
- -
- - - - - -
- + + - 1.1 + + label: 1.1, value: t5741 + - +
-
-
- -
- - - - - -
- + + - 1.2 + + label: 1.2, value: t5742 + - +
-
-
-
csr test ./src/tree/_example/line.vue 1`] = ` /> - + + - 2 + + label: 2, value: t5743 + - +
-
-
- -
-
+ +
+
+ +
+ +
+
+
+
+
+`; + +exports[`csr snapshot test > csr test ./src/tree/_example/lazy.vue 1`] = ` +
+
+
+
+

+ 数据延迟加载 +

+
+
+
+

+ 默认为点击加载数据。 +

+

+ valueMode 默认为 'onlyLeaf'。选中父节点时,子节点由于未加载,无法更新和获取选中状态,导致无法更新父节点的状态。 +

+

+ 所以使用延迟加载时,推荐 valueMode 设置为 'all' 或者 'parentFirst'。 +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+ +
csr test ./src/tree/_example/line.vue 1`] = ` /> - + + - 2.1.1 + 1 - +
-
-
- - - -
-
csr test ./src/tree/_example/line.vue 1`] = ` /> - + + - 2.1.1.1 + 2 - + +
+
+
+
+
+
+
+`; + +exports[`csr snapshot test > csr test ./src/tree/_example/line.vue 1`] = ` +
+
+
+
+
+
+
+
- +
+
+
+
+
+
+ +
+
+
+
-
- - - - -
+
+
+
+
+
+
+
+
+
+

+ 默认样式 +

+
+
+
+ +
+ > + + + + - 2.1.1.1.1 + 1
-
-
- - - - -
- - - - - -
+ csr test ./src/tree/_example/line.vue 1`] = ` /> - 2.1.1.1.2 + 1.1
+ + + + + 1.2 + + +
+
+ + + + + + + + 2 + + +
+
+ + + + + + + + + 2.1 + + +
+
-
+ -
- - + + + + 2.1.1 + + +
+
+ + + + -
- +
+ + - - - - -
+ 2.1.1.1 + + +
+
+ + + + + 2.1.1.1.1 + + +
+
+ + + + + 2.1.1.1.2 + + +
+
+ csr test ./src/tree/_example/line.vue 1`] = ` draggable="false" style="--level: 1;" > -
-
- -
- - - - - -
+ csr test ./src/tree/_example/line.vue 1`] = ` draggable="false" style="--level: 0;" > -
-
-
csr test ./src/tree/_example/line.vue 1`] = ` draggable="false" style="--level: 1;" > -
-
- -
- - - - - -
+ csr test ./src/tree/_example/line.vue 1`] = ` draggable="false" style="--level: 1;" > -
-
- -
- - - - - -
+ csr test ./src/tree/_example/line.vue 1`] = ` draggable="false" style="--level: 0;" > -
-
- - - - - -
csr test ./src/tree/_example/line.vue 1`] = ` class="title" data-v-225666c0="" > - slot 形式 + 使用属性结合 jsx 来自定义呈现
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
-
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = ` >
csr test ./src/tree/_example/line.vue 1`] = `
-
-`; - -exports[`csr snapshot test > csr test ./src/tree/_example/load.vue 1`] = ` -
-
-
-
- -
-
-
-
- -
-
-
-
-
- + slot 形式 +
csr test ./src/tree/_example/load.vue 1`] = ` draggable="false" style="--level: 0;" > +
+
+ +
-
- - -
- - -
+ + - +
-
+ +
+ - -
- + -
- - + - - - - - - -`; - -exports[`csr snapshot test > csr test ./src/tree/_example/operations.vue 1`] = ` -
-
-
-
-

- 属性结合 jsx 形式传递 -

-
-
-
-
+
+
+ +
+ + + + + +
csr test ./src/tree/_example/operations.vue 1`] = ` /> - 1 | value: node1 + 1.2 - - value: node1 -
+
+
+ +
+ > + + + + - 2 | value: node2 + 2 - - value: node2 - -
- -
-
-
-
-
-
-
-

- slot 形式 -

-
-
-
-
-
-
-
+
-
-
-
-
- + + + + + + + 2.1 + +
-
+
+ + + + + + + + 2.1.1 + +
-
-
- - filter: - - -
-
- -
-
+ class="custom-line-cross" + data-v-225666c0="" + /> + +
+
+ + + + + + + + 2.1.1.1 + +
-
- -
-
-
-
+
+
+ + + + +
+ + + + + +
- - +
+
+
-
- -
-
- -
-
- -
-
- -
+ + + +
+ + + + + +
+ + + + 2.1.1.1.2 +
+
+
+ + +
+ + + + + +
- - +
+
+
-
- -
-
- -
-
- -
-
- -
+
+ + + + + +
+ + + + 2.2 +
-
-
-
-
-
-
-
-
-

- 操作树节点 -

-
-
-
-
- -
-
- -
-
- -
-
- -
-
-
- 获取高亮节点下的选中节点 - - -
-
- -
-
- -
-
-
- 获取高亮节点的所有父节点 - - -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-

- * 相关信息通过控制台输出 -

+
+
@@ -153257,7 +154530,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/operations.vue 1`] = `
`; -exports[`csr snapshot test > csr test ./src/tree/_example/sync.vue 1`] = ` +exports[`csr snapshot test > csr test ./src/tree/_example/load.vue 1`] = `
csr test ./src/tree/_example/sync.vue 1`] = ` class="t-form__item t-form-item__" >
-
-
- - - checked: - - -
-
- -
-
-
-
-
-
-
-
-
-
- - - expanded: - - -
-
- -
-
-
-
+ 可选 +
-
-
- - actived: - - + class="t-switch__handle" + />
-
- -
-
+ class="t-switch__content t-size-m" + />
@@ -153401,7 +154587,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/sync.vue 1`] = ` class="t-space-item" >
csr test ./src/tree/_example/sync.vue 1`] = ` ignore="active" trigger="expand" > - - - + + +
+ + +