我需要在休息时使用admin访问当前记录。我有一个实体,需要其中一个属性来执行条件任务。我在互联网上搜索,一无所获。
export const UserEdit = (props) => (
<Edit {...props}>
<SimpleForm>
<TextField source="Username" label="Username" />
</SimpleForm>
</Edit>
);
&#13;
答案 0 :(得分:3)
admin-on-rest
这是不可能的,但这是React拯救的地方,您可以创建一个组件来添加此行为。
类似的东西:
const WithProps = ({children,...props}) => children(props);
并像这样使用它:
export const UserEdit = (props) => (
<Edit {...props}>
<WithProps>({record,...props})=>
<SimpleForm record={record} {...props}>
<TextField source="Username" label="Username" />
</SimpleForm>
</WithProps>
</Edit>
);
答案 1 :(得分:0)
您在寻找aor-dependent-input
吗?
https://github.com/marmelab/aor-dependent-input
它允许根据其他输入值显示输入。它由管理员休息核心团队创作和支持。
答案 2 :(得分:0)
通常,您无法访问SimpleForm中的记录。
也许,您可以定义一个自定义字段,并在其中包装一个TextField以访问该记录,以便根据需要执行条件检查。
例如:
const CustomTextField = ({record = {}, source}) => (
{ record.foo ? <TextField source="username" label="username" /> : <WhateverField /> }
);
,然后在UserEdit中使用CustomTextField。