Skip to content

Commit 8745092

Browse files
committed
refactor: Tree component optimization.
1 parent 41eb4b2 commit 8745092

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/components/Tree/index.vue

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
@mouseout.stop="handleMouseout"
1010
>
1111
<tree-node
12-
v-for="(item, index) in flatData"
13-
:key="index"
12+
v-for="(item) in flatData"
13+
:key="item.id"
1414
:node="item"
1515
:collapsed="!!hiddenPaths[item.path]"
1616
:custom-value-formatter="customValueFormatter"
@@ -136,7 +136,11 @@
136136
computed: {
137137
flatData () {
138138
let startHiddenItem = null
139-
const data = jsonFlatten(this.data, this.path).reduce((acc, item) => {
139+
const data = jsonFlatten(this.data, this.path).reduce((acc, cur, index) => {
140+
const item = {
141+
...cur,
142+
id: index,
143+
}
140144
const isHidden = this.hiddenPaths[item.path]
141145
if (startHiddenItem && startHiddenItem.path === item.path) {
142146
const isObject = startHiddenItem.type === 'objectStart'

src/components/TreeNode/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
class="vjs-tree__node"
44
@click="onTreeNodeClick"
55
>
6-
<template v-if="showSelectController && selectable">
6+
<template v-if="showSelectController && selectable && node.type !== 'objectEnd' && node.type !== 'arrayEnd'">
77
<check-controller
88
:is-multiple="isMultiple"
99
:checked="checked"

0 commit comments

Comments
 (0)