如何更改 React admin 中的
<TextInput />
值以获取来自 API 响应的更新值?
这是代码:
<TextInput source="..." label="..." />
我已经尝试习惯
setValue
和 getValues
钩子上的 useForm
。但这不起作用。
[电子邮件受保护] 现在使用
react-hook-form
。所以你可以使用 useFormContext
来获取 setValue
但只有当你用
FormProvider
包裹表单时它才会生效(在react-admin中,提供程序将类似于 )
const ControlledTextInput = ({ value, ...props }) => {
const { setValue } = useFormContext();
React.useEffect(() => {
setValue(props.source, value);
}, [value]);
return <TextInput {...props} />;
};
// ==========
<SimpleFormConfigurable>
<ControlledTextInput
source="title"
validate={required("Required field")}
value="this value was provide by API response"
/>
</SimpleFormConfigurable>