feat:complete the implement of JSX
This commit is contained in:
6
doric-js/lib/src/ui/view.d.ts
vendored
6
doric-js/lib/src/ui/view.d.ts
vendored
@@ -153,10 +153,14 @@ export declare abstract class Superview extends View {
|
||||
clean(): void;
|
||||
toModel(): NativeViewModel;
|
||||
}
|
||||
export declare abstract class Group extends Superview {
|
||||
export declare type ViewArray = View[];
|
||||
export declare type ViewFragment = View | ViewArray;
|
||||
export declare abstract class Group extends Superview implements JSX.ElementChildrenAttribute {
|
||||
readonly children: View[];
|
||||
allSubviews(): View[];
|
||||
addChild(view: View): void;
|
||||
removeChild(view: View): void;
|
||||
removeAllChildren(): void;
|
||||
private addInnerElement;
|
||||
set innerElement(e: View | ViewFragment | ViewFragment[] | undefined | null);
|
||||
}
|
||||
|
@@ -443,4 +443,18 @@ export class Group extends Superview {
|
||||
removeAllChildren() {
|
||||
this.children.length = 0;
|
||||
}
|
||||
addInnerElement(e) {
|
||||
if (e instanceof Array) {
|
||||
e.forEach(e => this.addInnerElement(e));
|
||||
}
|
||||
else if (e instanceof View) {
|
||||
this.addChild(e);
|
||||
}
|
||||
else {
|
||||
loge(`Not allowed to add ${typeof e}`);
|
||||
}
|
||||
}
|
||||
set innerElement(e) {
|
||||
this.addInnerElement(e);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user