除了 PublicFieldProps 和 InjectedFieldProps 之外,所有的 react-admin 字段组件 props 类型都应该扩展 TypographyProps 吗?
Should all react-admin field component props types extend TypographyProps besides PublicFieldProps and InjectedFieldProps?
我在 react-admin 字段组件 props types 中注意到了这种类型模式:
export interface MyCustomFieldProps
extends PublicFieldProps,
InjectedFieldProps,
TypographyProps {
[myCustomFieldExtraProp: string]: any
}
但有时 TypographyProps 没有扩展。我不知道为什么。我想也许字段组件道具类型应该只在 return 是排版组件时扩展 TypographyProps。
一些例子:
日期字段
export interface DateFieldProps
extends PublicFieldProps,
InjectedFieldProps,
TypographyProps {
locales?: string | string[];
options?: object;
showTime?: boolean;
}
文件字段
export interface FileFieldProps extends PublicFieldProps, InjectedFieldProps {
src?: string;
title?: string;
target?: string;
download?: boolean | string;
ping?: string;
rel?: string;
classes?: object;
}
但是后来我发现一些字段组件 return 是 Typography 但不扩展 TypographyProps。因此,我的想法无效。
喜欢这个:
电子邮件字段
export interface EmailFieldProps
extends PublicFieldProps,
InjectedFieldProps,
AnchorHTMLAttributes<HTMLAnchorElement> {}
好吧,我花了一些时间来进一步调查。看起来只有 return 一个 Typography 组件的字段是唯一扩展 TypographyProps 的字段。
- TextField - Returns value 和 emptyText 的排版。
- NumberField - Returns value 和 emptyText 的排版。
- DateField - Returns value 和 emptyText 的排版。
可能 return 其他组件而不是 Typography 的字段不扩展 TypographyProps:
- UrlField - Returns Link 值。 emptyText 的排版。
- EmailField - Returns Link 值。 emptyText 的排版。
- FileField - Returns div 的值。 emptyText 的排版。
我想它是以这种方式实现的,所以我们在将 Typograph 道具传递给期望值组件(不是 Typography)发生变化的字段组件时不会感到困惑。因为它仅应用于 emptyText 组件(排版)。
我在 react-admin 字段组件 props types 中注意到了这种类型模式:
export interface MyCustomFieldProps
extends PublicFieldProps,
InjectedFieldProps,
TypographyProps {
[myCustomFieldExtraProp: string]: any
}
但有时 TypographyProps 没有扩展。我不知道为什么。我想也许字段组件道具类型应该只在 return 是排版组件时扩展 TypographyProps。
一些例子:
日期字段
export interface DateFieldProps
extends PublicFieldProps,
InjectedFieldProps,
TypographyProps {
locales?: string | string[];
options?: object;
showTime?: boolean;
}
文件字段
export interface FileFieldProps extends PublicFieldProps, InjectedFieldProps {
src?: string;
title?: string;
target?: string;
download?: boolean | string;
ping?: string;
rel?: string;
classes?: object;
}
但是后来我发现一些字段组件 return 是 Typography 但不扩展 TypographyProps。因此,我的想法无效。
喜欢这个:
电子邮件字段
export interface EmailFieldProps
extends PublicFieldProps,
InjectedFieldProps,
AnchorHTMLAttributes<HTMLAnchorElement> {}
好吧,我花了一些时间来进一步调查。看起来只有 return 一个 Typography 组件的字段是唯一扩展 TypographyProps 的字段。
- TextField - Returns value 和 emptyText 的排版。
- NumberField - Returns value 和 emptyText 的排版。
- DateField - Returns value 和 emptyText 的排版。
可能 return 其他组件而不是 Typography 的字段不扩展 TypographyProps:
- UrlField - Returns Link 值。 emptyText 的排版。
- EmailField - Returns Link 值。 emptyText 的排版。
- FileField - Returns div 的值。 emptyText 的排版。
我想它是以这种方式实现的,所以我们在将 Typograph 道具传递给期望值组件(不是 Typography)发生变化的字段组件时不会感到困惑。因为它仅应用于 emptyText 组件(排版)。