1

我正在使用 react-jsonschema-form 动态生成表单字段。我正在使用它在表单中仅生成几个附加字段。因此我没有在 react-jsonschema-form 中使用提交功能。相反,我也使用我的表单提交生成的字段值。

我正在使用这个状态钩子来存储更新属性的值

const [additionalData, setAdditionalData] = useState("")

我想要做的是从 react-jsonschema-form 中的 onChange 更新附加数据的值。

function getTemplateFields(data: string) {
  const json = JSON.parse(data)


  const log = (type: string) => console.log.bind(console, type);

  return <div>
      {json &&
          <Form schema={json}
                onChange={e => {                    
                    setAdditionalData(e.schema.properties) // something like this

                }}
                children={true} // hide submit button
                onError={log("errors")}/>
      }
  </div>

}

但我无法从事件中获取更新字段值。有人可以帮我弄这个吗。

4

1 回答 1

1

根据文档,函数的第一个参数onChange是具有formData属性的结果对象。因此,要访问事件,您应该执行以下操作:

onChange={({ formData }, e) => {                    
  setAdditionalData(e.schema.properties);
}}
于 2020-11-17T05:32:49.697 回答