0

我正在使用 react-jsonschema-form 开发 FORM。尝试通过模式对象添加多个按钮,但无法添加。

我可以添加内部标签,但是根据我的要求,如果我们想有条件地处理多种表单,则需要添加不同的按钮,因为有任何特定的方法可以在模式对象中添加按钮。

4

1 回答 1

0

这就是我所做的

<Form schema={this.state.schema}
       onSubmit={this.state.submitForm}
       formData={this.state.content}
       uiSchema={this.state.uiSchema}
       widgets={this.widgets}
       fields={this.fields}>
       <button type="submit" className='btn btn-success>Create a New Post</button>
       <button type="submit" onClick={this.publish} className='btn btn-success'> Publish </button>
</Form>

在发布方法中

publish() {
    this.publishFlag = true
}

在提交方法中

submitForm(formData) {
    if(this.publishFlag) {
    //do something related to publishing
    this.publishFlag = false //unset the flag
    } else {
    //do the default thing
    }

}

为了有条件地显示一个按钮,你可以做

<button type="submit" onClick={this.publish} onSubmit={this.publish}
       className={this.state.buttonState.publishEnabled ? 'btn btn-success' : 'hidden ' }>
                            Publish
                        </button>

并以您的风格

.hidden { display:none; }

于 2018-11-27T05:40:27.550 回答