【发布时间】:2020-09-04 11:24:25
【问题描述】:
如何更改react-admin 中TextInput 的值。
我的想法是
<TextInput label="..." source="..." value="MY VALUE" />
但这不起作用。 请帮忙。
【问题讨论】:
标签: reactjs react-admin
如何更改react-admin 中TextInput 的值。
我的想法是
<TextInput label="..." source="..." value="MY VALUE" />
但这不起作用。 请帮忙。
【问题讨论】:
标签: reactjs react-admin
您不能使用react-admin 的TextInput 执行此操作,因为它是支持react-final-form 表单的连接字段,因此您无法控制输入。
你应该说明你的最终目标是什么。我可以想到两个选择:
如果您想要控制输入,您可以简单地使用material-ui 的TextField 并将您的自定义value 传递给它,并处理onChange 事件。
如果你不想自己控制值,而是在某些情况下改变表单状态,那么你可以使用react-final-form提供的钩子:
const form = useForm();
form.change("myValue", newValue);
...
<TextInput label="My Value" source="myValue" />
【讨论】:
如果您输入的值为 null 或未定义,您可以使用 initialValue 属性在页面加载时设置该值。
<TextInput source="mySource" initialValue="MY VALUE" />
查看 React-Admin 输入文档:https://marmelab.com/react-admin/Inputs.html#common-input-props
如果您希望在页面加载后动态更改值,我建议您按照 Kia 的回答来利用 useForm 挂钩。
【讨论】: