首页 > 解决方案 > React Admin - 如何在更改时自动填充(更新)字段值

问题描述

我有一个谷歌地点自动完成输入,需要根据所选地点填充地址相关字段,如下所示:

  <GPAutocompleteInput
    source="address_full"
    placeholder="Find address"
    onPlaceSelected={onPlaceSelected}
    gaOptions={{ types: ["address"] }}
  />

  <TextInput source="address_street" disabled label="Ulica" />
  <TextInput source="address_postcode" disabled label="Kod pocztowy" />
  <TextInput source="address_city" disabled label="Miasto" />

现在我想用所选位置的地址组件填充 3 个禁用的输入,但不知道如何执行此操作。

我已经尝试为 SimpleForm 组件提供 initialValues ,这在创建视图中可以正常工作,但在编辑中却不行,因为这些字段已经有一个值,而这些值没有被更新。

标签: react-admin

解决方案


react-final-form 提供了一个简单的钩子,允许我更改值

import { useForm } from "react-final-form";

const form = useForm();
form.change("address_city", components?.address_city);

可能有更好的方法,因为这需要构建一个自定义组件来使用钩子所需的表单上下文。


推荐阅读