feat:should receive multi onRenderFinishedCallbacks

This commit is contained in:
pengfei.zhou
2020-03-10 19:18:33 +08:00
committed by osborn
parent f3f28c55f8
commit 1f5fd7de30
12 changed files with 104 additions and 40 deletions

View File

@@ -12,7 +12,7 @@ export declare abstract class Panel {
private __data__?;
private __root__;
private headviews;
onRenderFinished?: () => void;
private onRenderFinishedCallback;
addHeadView(type: string, v: View): void;
allHeadViews(): IterableIterator<Map<string, View>>;
removeHeadView(type: string, v: View | string): void;
@@ -30,4 +30,6 @@ export declare abstract class Panel {
private nativeRender;
private hookBeforeNativeCall;
private hookAfterNativeCall;
onRenderFinished(): void;
addOnRenderFinishedCallback(cb: () => void): void;
}

View File

@@ -37,6 +37,7 @@ export class Panel {
constructor() {
this.__root__ = new Root;
this.headviews = new Map;
this.onRenderFinishedCallback = [];
}
onCreate() { }
onDestroy() { }
@@ -188,11 +189,18 @@ export class Panel {
});
}
Promise.all(promises).then(_ => {
if (this.onRenderFinished) {
this.onRenderFinished();
}
this.onRenderFinished();
});
}
onRenderFinished() {
this.onRenderFinishedCallback.forEach(e => {
e();
});
this.onRenderFinishedCallback.length = 0;
}
addOnRenderFinishedCallback(cb) {
this.onRenderFinishedCallback.push(cb);
}
}
__decorate([
NativeCall,