我正在尝试创建一个将使用MatTable组件的抽象表组件。抽象表将用作子元素,我想将自定义接口(行为类似于类型)从父级传递给该子级。
到目前为止,我决定通过这样的一个对象传递数据和表设置:
//inside the parent component
<app-abstract-table [tableProperties]="tableProperties"></app-abstract-table>
tableProperties
对象是基于以下接口创建的:
export interface TableProperties {
columnsWithCaptions?: any[];
dataSource?: any[];
}
在app-abstract-table
中,我有一个用于保存表数据的字段:
dataSource: MatTableDataSource<Fruit> = new MatTableDataSource<Fruit>();
其通用类型为Fruit
。
我想以某种方式从父级传递此类型,以便整个抽象表组件将完全可重用。这是完全可以实现的吗?还是应该将any
用作通用名称,而忘了这个问题?
答案 0 :(得分:0)
您的表属性可以定义为:
export interface TableProperties<T> {
columnWithCaptions?: any[];
dataSource?: T[];
}