【发布时间】:2017-08-15 07:14:49
【问题描述】:
我正在使用 reactJs 和 redux-form。
并且还使用 semantic ui react 库
当我想提交我的表单时,我不希望我的页面被刷新。相反,我想在提交后重置我的表单。
不幸的是,我无法清除我的输入,而我将状态设置为无效值。
/** Form component **/
<Form onSubmit={handleSubmit(this.handleSubmitAction)}>
<Field name="input" component={renderTitleInput} onChangeAction={this.handleInputChange} defaultValue={this.state.input} />
<input type="submit" name="submit" />
</Form>
/** HandleSubmit function **/
handleSubmitAction = (e) => {
this.setState({input:''})
}
提交表单后该字段保持填写状态。
有什么建议吗?谢谢
【问题讨论】:
-
我不知道语义 ui 是如何工作的,但是您正在更改该字段的
defaultValue。尝试将input值设置为this.state.input,而不是defaultValue,或者Field组件的value(如果有的话)。 -
谢谢。解决了。你说得对,
value比defaultValue更合适,但Field组件不能识别value属性,所以要完成这项工作,我需要通过自定义fieldValue属性传递它。
标签: reactjs semantic-ui redux-form