微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在react-admin中更新SimpleForm TextInput值

如何解决无法在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?.capturedLocation ?.纬度和经度会发生变化,但是在提交表单时,textInput值就不会变。

解决方法

如果您使用的是props.record组件,则可能未定义

<Edit>。此外,您不应在默认值中使用记录纬度。当记录被加载时,React-admin会负责。最后,react-admin的TextInput是controlled component,因此您不应该自己设置value

这应该有效:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。