Пользовательский интерфейс: виджет не изменит formData - PullRequest
0 голосов
/ 27 августа 2018

При использовании ui:widget поле не изменит formData формы, в отличие от того, когда не используется ui:widget, любое изменение в поле будет видно в formData при отправке формы.

Должен ли я изменить formData формы вручную при изменении текста поля?если да, то есть ли пример для этого?

Шаги для воспроизведения

  1. Создайте класс, представляющий пользовательский интерфейс, и используйте для рендеринга следующее:

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

Добавить к schema.properties "City": {type: "string", title:"City"} Добавить к schema.properties "City": { "ui:widget": DefaultInput, classNames: "col-md-4"}

Где City - это имя пользовательского компонента.и DefaultInput - это класс, представляющий пользовательский интерфейс поля.

Ожидаемое поведение

Чтобы увидеть значение пользовательского текстового поля при отправке формы: onSubmit = ({formData}) => console.log(formData);

То, что я вижу, это: {City: undefined}

Есть идеи?

1 Ответ

0 голосов
/ 01 сентября 2018

если вы используете пользовательские 'ui: widgets', вы должны использовать метод onChange json-schema-form, когда значение любого элемента изменяется, и после этого вы можете получить измененное значение из формы.

...