Как удалить поле после его вставки?
Я создаю пользовательскую форму, я успешно смог добавить новые поля во время выполнения в форму как:
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
Любая идея? Как бы я удалил поле после добавления?