optimize the definition of VMPanel

This commit is contained in:
pengfei.zhou
2020-04-17 10:28:02 +08:00
committed by osborn
parent ac152df6f0
commit 9a1a8be5ae
3 changed files with 9 additions and 12 deletions

7
doric-js/index.d.ts vendored
View File

@@ -1266,12 +1266,11 @@ declare module 'doric/lib/src/pattern/mvvm' {
abstract onAttached(state: M, vh: V): void;
abstract onBind(state: M, vh: V): void;
}
export type ViewModelClass<M, V extends ViewHolder> = new (m: M, v: V) => ViewModel<M, V>;
export type ViewHolderClass<V> = new () => V;
export type ClassType<T> = new (...args: any) => T;
export abstract class VMPanel<M extends Object, V extends ViewHolder> extends Panel {
abstract getViewModelClass(): ViewModelClass<M, V>;
abstract getViewModelClass(): ClassType<ViewModel<M, V>>;
abstract getState(): M;
abstract getViewHolderClass(): ViewHolderClass<V>;
abstract getViewHolderClass(): ClassType<V>;
getViewModel(): ViewModel<M, V> | undefined;
build(root: Group): void;
}