Как удалить поле после его вставки?

Я создаю пользовательскую форму, я успешно смог добавить новые поля во время выполнения в форму как:

Options.schema.properties= {...Options.schema.properties, [key]: {type: "string"} }
Options.uiSchema= {...Options.uiSchema, [key]: { "ui:widget": DefaultInput, classNames: "col-md-4"} }

куда key это идентификатор поля, и Options можно наблюдать через Mobx

В форме я использую наблюдаемый шаблон через Mobx для обновления schema.properties

Что-то вроде этого:

  class StudentsTab extends Component {
  render() {
    return (
      <MyForm schema={Options.schema} uiSchema={Options.uiSchema} widgets={Options.widgets}
      fields={this.customFields} 
        onChange={log("changed")}
        onSubmit={log("submitted")}
        onError={log("errors")}
         />
    )
  }
}
export default observer(StudentsTab);

Хотя таким образом можно добавить новые поля, я не смог их удалить, моя попытка была такой:

   delete Options.schema.properties[key]
   delete Options.uiSchema[key]

Я вижу, что поле id удалено, но не удалено из DOM

Любая идея? Как бы я удалил поле после добавления?

0 ответов

Другие вопросы по тегам