Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2a8d8f5

Browse files
committed
fix: 解决异步加载树,setExpandKeys后节点展开但是不展示数据的问题
1 parent 51120b5 commit 2a8d8f5

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

‎src/store/tree-store.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -366,13 +366,13 @@ export default class TreeStore extends TreeEventTarget {
366366
* @param triggerEvent 是否触发事件
367367
* @param triggerDataChange 是否触发 `data-change` 事件以通知外部刷新视图
368368
*/
369-
setExpand(
369+
asyncsetExpand(
370370
key: TreeNodeKeyType,
371371
value: boolean,
372372
expandParent: boolean = false,
373373
triggerEvent: boolean = true,
374374
triggerDataChange: boolean = true
375-
): void {
375+
): Promise<void> {
376376
const node = this.mapData[key]
377377
if (!node || (!expandParent && node.isLeaf)) return
378378

@@ -386,7 +386,7 @@ export default class TreeStore extends TreeEventTarget {
386386
if (triggerDataChange) {
387387
this.emit('visible-data-change')
388388
}
389-
new Promise((resolve, reject) => {
389+
awaitnew Promise((resolve, reject) => {
390390
const load = this.options.load as Function
391391
load(node, resolve, reject)
392392
})
@@ -446,7 +446,7 @@ export default class TreeStore extends TreeEventTarget {
446446
}
447447

448448
if (expandParent && node._parent && value) {
449-
this.setExpand(
449+
awaitthis.setExpand(
450450
node._parent[this.options.keyField],
451451
value,
452452
expandParent,
@@ -461,14 +461,15 @@ export default class TreeStore extends TreeEventTarget {
461461
* @param keys 展开的节点 key 数组
462462
* @param value 是否展开
463463
*/
464-
setExpandKeys(
464+
asyncsetExpandKeys(
465465
keys: TreeNodeKeyType[],
466466
value: boolean,
467467
triggerDataChange: boolean = true
468-
): void {
469-
keys.forEach(key => {
470-
this.setExpand(key, value, false, false, false)
471-
})
468+
): Promise<void> {
469+
470+
for (const key of keys) {
471+
await this.setExpand(key, value, false, false, false)
472+
}
472473

473474
if (triggerDataChange) {
474475
this.emit('visible-data-change')

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /