Reactjs 在我的案例中,单击“提交”后如何清除react中的输入字段?
有谁能告诉我,在我点击主页组件上的提交后,如何清除所有输入?我尝试在subjectForm组件中的preventdefault之后使用reset(),但要么使用错误,要么无效。我还尝试使用setState并将输入恢复到默认状态,默认状态为空,但也不起作用 我的代码中的一切都很好,但每次我提交一个主题时,字段本身并不清楚 这是我的主页组件Reactjs 在我的案例中,单击“提交”后如何清除react中的输入字段?,reactjs,components,reset,Reactjs,Components,Reset,有谁能告诉我,在我点击主页组件上的提交后,如何清除所有输入?我尝试在subjectForm组件中的preventdefault之后使用reset(),但要么使用错误,要么无效。我还尝试使用setState并将输入恢复到默认状态,默认状态为空,但也不起作用 我的代码中的一切都很好,但每次我提交一个主题时,字段本身并不清楚 这是我的主页组件 import React from 'react'; import SubjectForm from './SubjectForm';
import React from 'react';
import SubjectForm from './SubjectForm';
import {addSubject} from '../actions/subjectAction';
import {connect} from 'react-redux';
const HomePage=({dispatch})=>(
<div>
<SubjectForm onSubmit ={(subject)=>
dispatch(addSubject(subject))
}/>
</div>
)
export default connect()(HomePage);
由于您使用状态控制输入字段,因此应重置
状态字段
,它将重置字段。因此:
onSubmit=(e)=>{
e.preventDefault();
**//I tried using reset() here but it did not work**
if(!this.state.subjectName){...}
// after finishing all you want to do with it:
this.setState({
hour: '', // or any other initial value you have
subjectName: '',
});
}
由于您使用状态控制输入字段,因此应重置
状态字段
,它将重置字段。因此:
onSubmit=(e)=>{
e.preventDefault();
**//I tried using reset() here but it did not work**
if(!this.state.subjectName){...}
// after finishing all you want to do with it:
this.setState({
hour: '', // or any other initial value you have
subjectName: '',
});
}
我做到了,这是我在提交时的代码,当我尝试onSubmit=(e)=>{if(!this.state.subjectName){this.setState(()=>({error:'please enter subject name'}))}else if(!this.state.hour&!this.state.minute){this.setState(()=>({error:'please enter time'})else})else{this.setState(()=>({错误:'}));this.props.onSubmit({subjectName:'',小时:0,分钟:0,注意:'})}请将其添加到您的帖子中,以使其更易于阅读,并显示您迄今为止所做的尝试。我这样做了,您可以看一看吗?我已相应地编辑了答案,您使用
this.setState
而不使用其他内部函数。我这样做了,这是我在提交时尝试的代码onSubmit=(e)=>{if(!this.state.subjectName){this.setState(()=>({error:'please enter subject name'}))}如果(!this.state.hour&&!this.state.minute){this.setState(()=>({error:'please enter'}))}如果(!this.state.hour&&!this.state.minute){this.setState(()=>({error:'please'})),请输入时间)),否则,{this.props.on({subjectName:'',小时:0,分钟:0,注意:'}}请将其添加到您的帖子中,以使其更易于阅读,并显示您迄今为止所做的尝试。我做到了,您可以看一看吗?我已相应地编辑了答案,您使用this.setState
而不使用其他内部函数。
onSubmit=(e)=>{
e.preventDefault();
**//I tried using reset() here but it did not work**
if(!this.state.subjectName){...}
// after finishing all you want to do with it:
this.setState({
hour: '', // or any other initial value you have
subjectName: '',
});
}