1

我正在构建一个自定义表单,我已经成功地能够在运行时将新字段添加到表单中:

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

key字段 id在哪里,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 中删除

任何想法?添加后如何删除字段?

4

0 回答 0