自定义ui:widget不会更改formData

时间:2018-08-27 07:05:32

标签: react-jsonschema-forms

使用ui:widget时,该字段不会更改表单的formData,这与不使用ui:widget时不同,该字段会在formData中显示表单已提交。

当字段文本更改时,我应该手动更改表单的formData吗?如果是这样,有没有这样做的例子?

复制步骤

  1. 创建代表自定义UI的类,并将以下内容用于渲染:

return ( <div > {this.props.children}
</div> )

  1. 添加到schema.properties "City": {type: "string", title:"City"}
  2. 添加到schema.properties "City": { "ui:widget": DefaultInput, classNames: "col-md-4"}

City是自定义组件的名称。 DefaultInput是代表字段的自定义ui的类。

预期行为

要在提交表单时查看自定义文本字段的值: onSubmit = ({formData}) => console.log(formData);

我看到的是: {City: undefined}

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

如果您使用自定义'ui:widgets',则必须在更改任何项目的值时使用json-schema-form onChange方法,然后才能从表单中获取更改的值。