我正在尝试实现一个通用的表组件。
这个想法是,当组件在其他地方使用时,可以查看可以分配给组件的所有剩余 prop 。
例如,默认情况下我设置了下面的props。但是你可以使用table组件接收的几个props来自定义组件:
<MantineDataTable
withTableBorder
withColumnBorders
highlightOnHover
loaderType="oval"
loaderSize="sm"
loaderBackgroundBlur={1}
fetching={isLoading}
records={records}
rowStyle={() => (theme) => ({
fontSize: !mediumScreen ? theme.fontSizes.sm : theme.fontSizes.xs,
})}
columns={columns}
{...rest}
/>
字符串
但是我无法让Intelisense识别您可以添加到组件中以自定义它的 prop 。
我有以下输入错误:
An interface can only extend an object type or intersection of object types with statically known members.
型
关于这种类型:
interface DataTableProps<T, TRecords> extends MantineDataTableProps<T> {
records: TRecords[];
columns: DataTableColumn<TRecords>[];
isLoading?: boolean;
}
型
我该如何解决这个问题?
CodeSandbox
1条答案
按热度按时间1aaf6o9v1#
由于泛型的使用,你遇到了接口的限制。你可以通过使用类型别名来解决这个问题:
字符串
Codesandbox
一个类可以实现一个接口或类型别名,两者的方式完全相同。但是请注意,类和接口被认为是静态蓝图。因此,它们不能实现/扩展命名联合类型的类型别名。