【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(三)
CrazyPanda发表于:2024-02-20 17:04:41浏览:473次
一、 Form.useForm()的使用
之前使用表单的时候,一直在为表单赋值纠结,找了一些资料,也感觉很复杂,使用多了之后,感觉表单赋值也挺简单的。
1、 创建一个form
const [theForm] = Form.useForm();
2、 绑定表单组件
无论是ProForm、ModalForm、还是DrawerForm,都可以绑定我们的theForm,使用属性form={theForm}绑定,代码如下
<ProForm form={theForm} style={{ marginTop: 8, maxWidth: 600 }} name="新建信息" layout="vertical" onInit={() => { theForm.resetFields(); }} onFinish={async (value) => { const success = await onFinish(value as API.ContractItem); if (success) { theForm.resetFields(); history.goBack(); } }} > </ProForm>
注意:绑定theForm之后,初始化的时候一定要注意清空老数据,否则数据就会一直保存在theForm中,导致页面显示错乱。
这里我习惯在onInit方法里面,调用重置方法
theForm.resetFields();
这样每次加载都会是最新数据。
3、 表单取值和赋值
表单取值方法:
theForm.getFieldValue('name');
其中name就是各表单控件的name。
表单赋值方法:
theForm.setFieldValue('name',1);
第一个参数就是各表单控件的name,第二个参数就是要赋的值,
如果要清空控件的值,可以赋值为null。
只需要在适当的时候,使用theForm赋值即可。
二、 表单控件间的联动
之前有记录过ProFormSelect可以直接设置dependencies属性来进行联动,参见Ant Design Pro学习记录—ModalForm的使用(二)而其他组件是没有这个功能的,这时候需要用到ProDormDependency组件
<ProFormDependency name={['room_id']}> {({ room_id }) => { theForm.setFieldValue('lease_area', null); if (room_id > 0) { roomData?.map((item) => { console.log(item); if (room_id == item.id) { theForm.setFieldValue('lease_area', item?.building_area); } }); } return ( <ProFormText name="lease_area" label="租赁面积(m²)" width="xl" placeholder="选择房源后显示" initialValue={0} rules={[ { required: true, message: '请输入租赁面积', }, { pattern: /^\d{1,7}(\.\d{1,2})?$/, message: '面积最大不能超过9999999.99', }, ]} fieldProps={{ autoComplete: 'off' }} /> ); }} </ProFormDependency>
其中,属性name对应的是关联的控件的name值,可以有多个,表示只要name里面关联的任意一个控件的值发生了变化,都会触发此组件的运行,我们可以在这里进行一些数据的判断、计算,给任意组件赋值,甚至控制组件的显示和隐藏,另外ProDormDependency是可以嵌套多层的,如果表单结构比较复杂,多个组件互相关联变化,都可以使用ProDormDependency实现。
猜你喜欢
- 【React】React中Typecript的使用
- 目录一、创建React的TypeScript项目二、使用差别1、基本使用2、Props传值的差别3、State传参三、总结一、创建React的TypeScript项目见:如何在React项目中引入TypeScript?_duansamve的博客-CSDN博客二、使用差别1、基本使用其基本使用和javascript编写React项目时差不多这是一份.tsx文件代码:可以看到和之前的.jsx使用并无太大差别import React, { Component }
- 【AntDesignPro】L7Plot地理可视化组件的使用
- L7Plot介绍L7Plot 基于 L7 实现的开箱即用地理空间数据可视化图表库L7Plot 专注于地理可视化图表。以声明配置式的方式,降低用户使用成本;以常见地理图表分类的方式,降低用户选择成本;内部集成全国行政区域数据,降低用户使用地理数据心智;支持多图层及多图表层叠,方便用户定制复杂的业务场景;L7Plot 专注于地理数据可视化展示,不会涉及数据编辑能力。前言项目需要,使用antdesignpro做前端,并绘制可视化大屏,回执地图组件,于是使用了L7Plot。功能目的绘
- 【AntDesignPro】Ant Design Pro学习记录—DrawerForm的使用
- 在AntDesignPro中,ModalForm和DrawerForm是我最常用的两个表单组件,配置上,他们有很多相同的地方,也有差异的地方,相比较而言,DrawerForm我使用的更多。ModalForm<ModalForm title={标题} width={600} &n
- 【React】react页面加载远程css和js
- 在React中,您可以使用componentDidMount生命周期方法来动态加载远程CSS和JavaScript文件。代码如下import React, { Component } from 'react'; class DynamicResources extends Component { componentDidMount()&nbs
- 【AntDesignPro】AntDesignPro使用原生js,箩筐地图的使用
- 项目需要把高德地图替换成箩筐地图,WEB前端使用的ant design pro,高德地图有相关的react demo,而箩筐地图只有原生js,结合上一篇文章【AntDesignPro】使用高德地图设置考勤区域,把高德地图修改为箩筐地图,实现考勤范围设置。1 html使用箩筐地图参考上一篇文章【html】箩筐地图的使用,设置考勤范围,了解实现考勤范围设置需要用到的箩筐地图接口。2 ant design pro加载原生js这个是实现功能的核心,只有js正确加载上了,地图的功能才能够正常使用。结合an
- 【AntDesignPro】Ant Design Pro学习记录—播放视频和音频
- 在ant design pro中,使用video和audio标签播放视频和音频1、播放视频我使用ModalForm弹框显示,autoPlay设置是否自动播放,controls设置操作按钮是否显示,设置好宽度和高度即可src是配置视频文件的链接<ModalForm title="播放视频" &n
- 【AntDesignPro】Ant Design Pro学习记录—前后端一体化部署
- 目录前言一、系统配置二、ant design pro访问路径配置三、站点访问路径配置前言好长时间没记录了,使用ant design pro有一年了,期间陆续做了好几个项目,从陌生到熟练,还有好多钻研成果没记录,后续有时间陆续补上。之前几个项目一直是前后端分开部署的,需要配置两个站点域名访问,还要解决跨域session问题,这次把一体化部署记录一下。一、系统配置服务端用的LNMP,使用tp6框架,使用宝塔面板管理。tp站点先正常部署,步骤省略,见下图:配置网站目录和运行目录: 编辑配置伪
- 【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(一)
- 目录一、关于ProTable二、使用步骤1.新建页面2.修改接口3.接口调用4.数据显示和检索1)不同类型内容显示2)列表检索3)列表内容样式设置5.其它1)render的简单使用2)图片点击预览3)翻页总结前言因为项目需要,确定了Ant Design Pro框架来开发后台管理端,刚接触这套框架,而且配套的资料真的很少,只能基于官方demo和网上不完整的学习经验一次次尝试,终于有个像样的结果,记录一下研究学习的成果,也给需要的同学一些帮助。本次学习研究基于Ant Design Pro V5版本,
栏目分类全部>