【发布时间】:2019-09-27 13:06:55
【问题描述】:
当未聚焦的选项卡出现验证错误时,选项卡标题应显示为红色。取而代之的是,当未聚焦的选项卡出现验证错误时,选项卡标题不会给出任何错误指示。
当我使用子组件时会发生此问题。如果所有组件都在创建/编辑级别定义,则选项卡会按预期变为红色。但是如果有嵌套的组件,那么选项卡就没有。
有没有办法将验证传递给我的自定义组件或将我的自定义字段标记为无效,因此当它们有无效字段时,选项卡在红色时被正确标记为红色?
例如,在我的代码中,我使用自定义输入作为子组件。虽然输入在无效时会变为红色,但选项卡不会。
- 此代码有效。
export const ProductCreate = (props) => (
<Create {...props}>
<TabbedForm>
<FormTab label="settings">
<Field component={TextInput} name="name" label="Name" validate={required} {...props} />
<SettingsTab />
</FormTab>
<FormTab label="sizes">
<SizesTab />
</FormTab>
</TabbedForm>
</Create>
);
- 通过将字段移动到子组件中,验证指示器不起作用。
export const ProductCreate = (props) => (
<Create {...props}>
<TabbedForm>
<FormTab label="settings">
<SettingsTab />
</FormTab>
<FormTab label="sizes">
<SizesTab />
</FormTab>
</TabbedForm>
</Create>
);
export const SettingsTab = (props) => (
<div>
<Field component={TextInput} name="name" label="Name" validate={required} {...props} />
</div>
);
我被这个问题困住了,我无法更改我当前的 react-admin 版本 (react-admin@^2.9.3) 而不破坏对我的项目的许多依赖项。
【问题讨论】:
标签: reactjs validation tabs react-admin