feat:fix when call build and onShow at once,then onRenderFinishedCallback maybe called before the render action finished

This commit is contained in:
pengfei.zhou
2020-04-27 15:08:18 +08:00
committed by osborn
parent cabb1b1f82
commit c34fe50104
8 changed files with 80 additions and 19 deletions

View File

@@ -47,6 +47,8 @@ export abstract class Panel {
private onRenderFinishedCallback: Array<() => void> = []
private __rendering__ = false
addHeadView(type: string, v: View) {
let map = this.headviews.get(type)
if (map) {
@@ -207,9 +209,17 @@ export abstract class Panel {
}
})
}
Promise.all(promises).then(_ => {
this.onRenderFinished()
})
if (this.__rendering__) {
//skip
Promise.all(promises).then(_ => {
})
} else {
this.__rendering__ = true
Promise.all(promises).then(_ => {
this.__rendering__ = false
this.onRenderFinished()
})
}
}
private onRenderFinished() {
this.onRenderFinishedCallback.forEach(e => {