Skip to content

Commit 20fdb5c

Browse files
JesonhuPanJiaChen
authored andcommitted
fix[Tree-Table]: fixed update item data bug (#1692)
1 parent 60b4549 commit 20fdb5c

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/components/TreeTable/index.vue

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,19 @@ export default {
149149
this.selcetRecursion(child, select, children)
150150
})
151151
}
152+
},
153+
updateTreeNode(item) {
154+
return new Promise(resolve => {
155+
const { _id, _parent } = item
156+
const index = _id.split('-').slice(-1)[0] // get last index
157+
if (_parent) {
158+
_parent.children.splice(index, 1, item)
159+
resolve(this.data)
160+
} else {
161+
this.data.splice(index, 1, item)
162+
resolve(this.data)
163+
}
164+
})
152165
}
153166
}
154167
}

src/views/tree-table/custom/index.vue

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,8 @@ export default {
129129
this.tempItem = Object.assign({}, row)
130130
this.dialogFormVisible = true
131131
},
132-
updateItem() {
133-
const data = this.$refs.TreeTable.getData()
134-
const { _id } = this.tempItem
135-
136-
for (let i = 0; i < data.length; i++) {
137-
if (data[i]._id === _id) {
138-
data.splice(i, 1, Object.assign({}, this.tempItem))
139-
break
140-
}
141-
}
142-
132+
async updateItem() {
133+
await this.$refs.TreeTable.updateTreeNode(this.tempItem)
143134
this.dialogFormVisible = false
144135
},
145136
addMenuItem(row, type) {

0 commit comments

Comments
 (0)