从 react-jsonschema-form 获取更新的字段值
Get updated field values from react-jsonschema-form
我正在使用 react-jsonschema-form 动态生成表单字段。我使用它在表单中仅生成几个附加字段。因此我没有在 react-jsonschema-form 中使用提交函数。相反,我也使用我的表单提交生成的字段值。
我正在使用这个状态挂钩来存储更新属性的值
const [additionalData, setAdditionalData] = useState("")
我想做的是在 react-jsonschema-form 中从 onChange 更新 additionalData 的值。
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>
}
但是我无法从事件中获取更新字段值。谁能帮我解决这个问题。
根据documentation,onChange
函数的第一个参数是一个具有formData
属性的结果对象。因此,要访问事件,您应该执行以下操作:
onChange={({ formData }, e) => {
setAdditionalData(e.schema.properties);
}}
我正在使用 react-jsonschema-form 动态生成表单字段。我使用它在表单中仅生成几个附加字段。因此我没有在 react-jsonschema-form 中使用提交函数。相反,我也使用我的表单提交生成的字段值。
我正在使用这个状态挂钩来存储更新属性的值
const [additionalData, setAdditionalData] = useState("")
我想做的是在 react-jsonschema-form 中从 onChange 更新 additionalData 的值。
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>
}
但是我无法从事件中获取更新字段值。谁能帮我解决这个问题。
根据documentation,onChange
函数的第一个参数是一个具有formData
属性的结果对象。因此,要访问事件,您应该执行以下操作:
onChange={({ formData }, e) => {
setAdditionalData(e.schema.properties);
}}