无法在react admin中更新SimpleForm TextInput值


<SimpleForm
label="resources.xyz"
{...props}
<TextInput
source="latitude"
label="resources.latitude"
defaultValue={
gpsLocation?.capturedLocation?.latitude || props?.record?.latitude
}
value={
gpsLocation?.capturedLocation?.latitude || props?.record?.latitude
}
/>......

在这个gpsLocation?。捕获位置?。当我们通过单独的函数捕获位置时,纬度和经度会发生变化,但当我们提交表单时,textInput值不会发生变化。

如果您在<Edit>组件中,则

props.record可能未定义。此外,您不应该在默认值中使用记录纬度。React管理员在加载记录时负责处理此问题。最后,react admin的TextInput是一个受控制的组件,因此您不应该自己设置value

这应该有效:

<TextInput
source="latitude"
label="resources.latitude"
defaultValue={gpsLocation?.capturedLocation?.latitude}
/>

最新更新