- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我的创建表单中有以下数组
const CreateDefaults = {Inputs: [{id: "ID1", param: "a"},{id: "ID2", param: "b"}]};
然后我想仅在 id==="ID2"
TextInput
export const MyCreate = withStyles(myStyles)(({ classes, ...props }) => (
<Create {...props}>
<SimpleForm defaultValue={CreateDefaults}>
<ArrayInput source="Inputs" {...props}>
<SimpleFormIterator {...props}>
<DisabledInput source="id" />
{/*this does not work*/}
{this.id === "ID2" ? (<TextInput source="ParamValue"/>) :null}
</SimpleFormIterator>
</ArrayInput>
</SimpleForm>
</Create>
));
我怎样才能做这样的事情?我知道对于整个表单,可以使用 FormDataConsumer
。但是,对于每次迭代,在 ArrayInput/SimpleFormIterator
中可以做什么?
如何在迭代中访问当前对象?我试过类似 the answer given to the 'Custom Input do not receive record when inside ArrayInput' issue in the react-admin github page 的东西, 但它仍然没有收到自定义输入中的记录。
最佳答案
来自最新文档here ,你可以看到,如果你使用 ArrayInput
中的 FormDataConsumer
,你有一个名为 scopedFormData
的参数,你可以使用它来获取当前记录并取消引用以获取您需要的任何字段。它通常还与 getSource
函数一起使用,您可以在 FormDataConsumer
中设置源时使用。
关于react-admin - 带有 SimpleFormIterator 和条件输入的 ArrayInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741302/
假设我的创建表单中有以下数组 const CreateDefaults = {Inputs: [{id: "ID1", param: "a"},{id: "ID2", param: "b"}]
我正在关注 this使用文档 FormDataConsumer显示/隐藏输入。但我有一个嵌套的 ArrayInput/FormDataConsumer 如下: export const MyClass
我是一名优秀的程序员,十分优秀!