前端笔记:React的form表单全部置空或者某个操作框置空的做法

简介: 在React框架前端开发中,经常会有弹出框的开发,涉及到弹出框,难免就会有表单。一般在关闭弹出框或者对表单联动时,往往都需要考虑对表单进行置空操作了。

原创/朱季谦


在React框架前端开发中,经常会有弹出框的开发,涉及到弹出框,难免就会有表单。一般在关闭弹出框或者对表单联动时,往往都需要考虑对表单进行置空操作了。

我以前在工作就遇到过这类问题,正好顺便对表单置空这块做一些总结小记录。

主要有两种情况,一种是对整个表单置空,一种是想灵活对其中个别选框置空。

1.全部置空的做法,一般在弹出框关闭同时,重置该form所有表单,使用方法如下:

this.props.form.resetFields();

在代码里的使用案例如下:

1 //重置表单

  resetForm = () => {

2         this.props.form.resetFields();

3    };

4

5

6return (

7             <Modal

8                 title="添加"

9                 maskClosable={false}

10                 confirmLoading={loading}

11                 visible={visible}

12                 onOk={this.submit}

13                 onCancel={this.cancel}

14                 afterClose={this.resetForm}

15             >

16                 <Form onSubmit={this.submitHandle}>

17                    ......

18                 </Form>

19             </Modal>

20         );



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”)

 

目录
相关文章
|
30天前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
127 2
|
1月前
|
移动开发 前端开发 JavaScript
React 表单与事件
10月更文挑战第10天
35 1
|
30天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
37 0
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
深入探索研究React表单
【10月更文挑战第6天】
89 57
|
15天前
|
前端开发 JavaScript
React 表单处理技巧
【10月更文挑战第24天】本文从初学者角度出发,详细介绍了 React 中表单处理的基本概念、常见问题及解决方案。涵盖受控组件与非受控组件的区别、状态更新、表单验证、多字段管理及高级技巧,通过代码示例帮助读者更好地理解和应用。
44 7
|
30天前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
30天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
30天前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
30天前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
2月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架