【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(一)
目录
前言
使用了AntDesignPro,仿照TableList创建了自己的列表,列表添加编辑确成了困扰,添加编辑使用了ModalForm,有两个问题,一个使用后,页面数据无法清除,再点弹框还是原来的数据,第二个编辑的时候,初始数据赋值问题。
AntDesignPro版本V5,开发工具VsCode。
一、ModalForm销毁
参考
非常感谢这位博主,解决了困扰我一周的问题(新手不容易)。
配置了modalProps={{ destroyOnClose: true }},弹框在隐藏时会销毁,同时清除原有数据。
二、ModalForm编辑赋值
首先发现有一个初始值赋值方法initialValue,但是使用后一直显示原来的值,这样就无法使用,但是在第一步,配置了销毁ModalForm,那么每次打开弹框都是新赋的值,这样就解决了初始值不变的问题。
添加页的弹框大部分都不需要初始值,就无需处理,主要是列表编辑页面,参考TableList的方法,点击列表编辑按钮时,使用currentRow给表单赋值即可,如果不配置销毁,那初始值只会赋值一次,每次点开编辑弹框,都是第一次点开的值,配合上销毁ModalForm,可以每次给表单重新赋值,这样编辑页问题整个都解决了。
列表编辑按钮给currentRow赋值
编辑弹框ModalForm的销毁和初始化赋值
三、ProFormUploadButton赋值
经过测试,给ProFormUploadButton赋值有三种方式:
1、fieldList:原upload组件的赋值方式
2、value:upload组件转换成ProFormUploadButton后的赋值方式
3、initialValue:form组件默认的赋值方式
经测试,三种方式都可以显示图片,但是前两种图片显示后,删除操作失效了,也许因为未知的原因,但我测试的时候点击删除无反应,也无法重新选择图片,第三种方式确认可行,可正常显示,也可删除后重新选择图片上传。
赋值的格式参考官网给出的格式,给出四个参数就可以[{uid:'-1',name:'xxx.png',status:'done',url:'http://xxxxx.com/xxx.png'}],更多参数可参考
四、其它
ProFormRadio.Group配置默认值,注意可选值类型和默认值类型要保持一致,我这里没有保持一致纠结了好长时间。
错误写法:设置人员性别,可选值value加了引号,initialValue设置后一直不显示选中的值
去掉引号,默认值就选中了
另外新发现,ModalForm里面的组件,不管是ProFormText、ProFormTextArea、ProFormRadio等等,必须设置名字,name="xxx",否则都赋不上值。
总结
问题很简单,但官网资料太少,网上找了很多赋值方法,都是很复杂,自己总结的这算是最简单的方法了,希望对新来的同学有帮助。
猜你喜欢
- 【React】react页面加载远程css和js
- 在React中,您可以使用componentDidMount生命周期方法来动态加载远程CSS和JavaScript文件。代码如下import React, { Component } from 'react'; class DynamicResources extends Component { componentDidMount()&nbs
- 【React】如何在 React 类中声明常量?
- 使用 react 开发应用程序时,有必要声明常量来存储在组件或应用程序的整个生命周期中保持不变的值。常量可以帮助提高代码可读性,提供管理共享值的中心位置,并增强可维护性。在本文中,我们将探讨如何在 react 类组件中声明常量。导入 React首先,我们假设您已经设置了 React 环境并且有一个可供使用的类组件。在声明常量之前,请确保您已导入必要的库。这包括导入 React,它是在 React 中构建用户界面的核心库。import React from '
- 【AntDesignPro】Ant Design Pro学习记录—DrawerForm的使用
- 在AntDesignPro中,ModalForm和DrawerForm是我最常用的两个表单组件,配置上,他们有很多相同的地方,也有差异的地方,相比较而言,DrawerForm我使用的更多。ModalForm<ModalForm title={标题} width={600} &n
- 【AntDesignPro】Ant Design Pro学习记录—前后端分离跨域设置,解决跨域session不一致
- 目录前言一、为什么跨域二、跨域配置三、跨域请求session不一致前言第一次做前后端分离,也是踩了很多坑,记录一下AntDesignPro跨域解决的方式。服务器系统使用Nginx,服务端使用thinkphp6。AntDesignPro正式build放到服务器上后,提示登录成功,但一直登录不上,后来发现是跨域session不同导致的,登录的时候session和登录成功后session的id不同,导致提示登录成功,就是登录不进去的情况。一、为什么跨域不想知道为什么要跨域,只想知道怎么解决。二、跨域配
- 【AntDesignPro】Ant Design Pro学习记录—播放视频和音频
- 在ant design pro中,使用video和audio标签播放视频和音频1、播放视频我使用ModalForm弹框显示,autoPlay设置是否自动播放,controls设置操作按钮是否显示,设置好宽度和高度即可src是配置视频文件的链接<ModalForm title="播放视频" &n
- 【AntDesignPro】使用高德地图设置考勤区域
- 参考高德开放平台https://lbs.amap.com/api/javascript-api-v2/guide/abc/amap-react功能要求:使用AntDesignPro开发系统管理端,考勤模块需要设置APP考勤打卡区域,需要页面显示地图定位并设置考勤范围(地图上画圈),以便APP在画圈范围内打卡使用。1、 准备2、 下载react类组件代码参考官网流程,可正常加载出地图组件,下面是我的页面和组件文件组件文件3、 安装并引入AmAP Loadernpm i @ama
- 【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】Ant Design Pro学习记录—前后端一体化部署
- 目录前言一、系统配置二、ant design pro访问路径配置三、站点访问路径配置前言好长时间没记录了,使用ant design pro有一年了,期间陆续做了好几个项目,从陌生到熟练,还有好多钻研成果没记录,后续有时间陆续补上。之前几个项目一直是前后端分开部署的,需要配置两个站点域名访问,还要解决跨域session问题,这次把一体化部署记录一下。一、系统配置服务端用的LNMP,使用tp6框架,使用宝塔面板管理。tp站点先正常部署,步骤省略,见下图:配置网站目录和运行目录: 编辑配置伪