* @zh 创建并添加组件 * @en Create and add component * * @param componentType - @zh 组件类型构造函数 @en Component type constructor * @param args - @zh 组件构造函数参数 @en Component constructor arguments * @returns @zh 创建的组件实例 @en Created component instance * * @example * ```typescr
(
componentType: ComponentType<T>,
...args: ConstructorParameters<ComponentType<T>>
)
| 412 | * ``` |
| 413 | */ |
| 414 | public createComponent<T extends Component>( |
| 415 | componentType: ComponentType<T>, |
| 416 | ...args: ConstructorParameters<ComponentType<T>> |
| 417 | ): T { |
| 418 | // eslint-disable-next-line @typescript-eslint/no-unsafe-argument |
| 419 | const component = new componentType(...args); |
| 420 | return this.addComponent(component); |
| 421 | } |
| 422 | |
| 423 | private addComponentInternal<T extends Component>(component: T): T { |
| 424 | const componentType = component.constructor as ComponentType<T>; |
no test coverage detected