前端笔记:React的form表单全部置空或者某个操作框置空的做法
朱季谦 人气:0日常前端开发中,经常会有弹出框的开发,涉及到弹出框,难免就会有表单,因此,在关闭弹出框或者对表单联动时,就要考虑对表单进行置空操作了。
在工作就遇到过这类问题,正好顺便对表单置空这块做一些总结小记录。
1.全部置空的做法,一般在弹出框关闭后,需要重置该form所有表单:
this.props.form.resetFields();
2.针对某个操作框置空的做法
例如,form表单里有一个部门和一个张三的联动下拉框,每次选择部门时,都需要重置员工对应的下拉框:
该表单部分前端React代码为:
1 <FormItem label="部门" {...ItemLayout}> 2 {getFieldDecorator('dept', { 3 4 })( 5 <Select optionFilterProp="dept" placeholder="请选择部门"> 6 { 7 dept.map((item) => ( 8 <Option key={item.d}>{item.deptname}</Option> 9 )) 10 } 11 </Select> 12 )} 13 </FormItem>, 14 15 <FormItem label="员工" {...ItemLayout}> 16 {getFieldDecorator('people', { 17 18 })( 19 <Select optionFilterProp="people" placeholder="请选择员工"> 20 { 21 people.map((item) => ( 22 <Option key={item.id}>{item.peopleName}</Option> 23 )) 24 } 25 26 </Select> 27 )} 28 </FormItem>
若要只想置空或重置员工下拉框默认值话,可这样设置:
this.props.form.setFieldsValue({ people: null, });
form还有不少便捷的方法,如getFieldValue(fieldName: string)则可以获取到各FormItem的选项值,如以下则可获取到员工选框的值:
this.props.form.getFieldValue(“people”)
加载全部内容