【antd】form表单默认值设置
问题:
在antd的form表单的api里面有个"initialValues"可以设置默认值.但是表单没有更新
<Form
name="test"
form={form}
labelCol={{ span: 6 }}
wrapperCol={{ span: 16 }}
initialValues={data} //此处设置"data"为默认值
>
<Form.Item name="name" label="姓名" required={true}>
<Input.TextArea
autoSize={{ minRows: 1, maxRows: 3 }}
></Input.TextArea>
</Form.Item>
</Form>
但是,正如官网所说
表单默认值,只有初始化以及重置时生效
也就是说比如详情页,data为调结果返回的结果,data本身就有默认值,然后接口返回之后更新data值.那么其结果是页面没有更新,详情页form表单在页面上还是空.为啥?
因为"initialValues"只是初始化,所以它只设置了data的原始默认值,而调接口之后虽然data更新了,但是"initialValues"并不会更新.所以表单也不会更新
解决方案:
1.form表单中有另一个api可供选择--setFieldsValue.其功能是更新form表单值.所以,我们只需要监听data值的变化,然后更新form表单值即可.
useEffect(() => {
form.setFieldsValue(data)
}, [data]);
2.确认data更新之后再渲染页面.
{data? <Form
name="dataGroup"
form={form}
labelCol={{ span: 6 }}
wrapperCol={{ span: 16 }}
initialValues={data}
>
<Form.Item name="name" label="数据组别" required={true}>
<Input.TextArea
autoSize={{ minRows: 1, maxRows: 3 }}
></Input.TextArea>
</Form.Item>
</Form>:null}
第一次页面并没有渲染东西,但是只要data变化了,页面就会重新渲染一个默认值是data的表单,form表单也就无需更新.
【antd】form表单默认值设置的更多相关文章
- 获取form表单默认提交的返回值
1.经常用form表单提交的小伙伴有没有发现,form表单默认的提交是没有返回值的,而且默认提交成功之后是跳转,跳转的action的路径,下面写一下默认的提交如何获取到form表单的返回值json,并 ...
- asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!)
原文:asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!) 我想用post的方式把一个页面表单的值,传到另一个页面.当我点击Default.as ...
- Jquery Form表单取值
之前js取form表单的值都是一个一个的取,数量一多之后容易出错而且烦透了.感谢那些愿意分享的人. 页面定义form,并给form指定id值,里面的元素只要是需要键值对应的都赋予name属性,并且na ...
- 取值:form表单取值、input框绑定取值
1. form表单取值1.1 方式一,通过<form bindsubmit="formSubmit">与<button formType="submit ...
- 如何为form表单的button设置submit事件
若button按钮没有type属性,浏览器默认按照type=submit逻辑处理,这样若将没有type的button放在form表单中,点击按钮就会执行form表单提交
- 5 获取Form表单取值
#form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...
- antd 父组件获取子组件中form表单的值
还是拿代码来讲吧,详情见注释 子组件 import React, { Component } from 'react'; import { Form, Input } from 'antd'; con ...
- 关于antd form表单getFieldsError方法
getFieldsError()方法其实只有required:true时,双向数据绑定. {getFieldDecorator('note', { rules: [{ required: true, ...
- form表单编码方式设置为multipart/form-data,后台参数出现乱码情况
一般在上传图片过程中,form中的编码方式一般采用multipart/form-data方式编码,但是后台这取参数时,可能会出现乱码情况:这里后台要采用转换编码方式: 页面: 后台:获取表单元素时,
随机推荐
- 【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘
[简介] 1.Azure Virtual machines是Azure 提供的多种可缩放按需分配计算资源之一,Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或 ...
- Netty源码分析之Reactor线程模型详解
上一篇文章,分析了Netty服务端启动的初始化过程,今天我们来分析一下Netty中的Reactor线程模型 在分析源码之前,我们先分析,哪些地方用到了EventLoop? NioServerSocke ...
- WinRAR下载
https://www.win-rar.com 垃圾7Z有的解压不了.
- html+css第一篇
行间样式表 <div style="--"></div> 内部样式表 <style>----</style> 外部样式表 <l ...
- LoadRunner 2020 社区版本负载机(Load generator)Linux 安装教程
1.HP官方注册 下载 LoadRunner_2020_Edition_Standalone_Applications_Micro_Focus_LoadRunner_2020_Community_Ed ...
- IDEA安装JavaFx
jdk11之后jdk就不内置javafx了,需要自己下载 在idea中新建JavaFx项目: 创建成功后发现代码标红 这个时候要把刚刚下载的JavaFx包解压后添加进去 选择到自己解压的路径的文件 ...
- DVWA总结
Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一,如2014年轰动全国的12306"撞库"事件,实质就是暴力 ...
- SpringBoot引入第三方jar的Bean的三种方式
在SpringBoot的大环境下,基本上很少使用之前的xml配置Bean,主要是因为这种方式不好维护而且也不够方便. 因此本篇博文也不再介绍Spring中通过xml来声明bean的使用方式. 一.注解 ...
- Mac Maven 安装及配置
一.下载 打开 Maven 官方下载页面:https://maven.apache.org/download.cgi#,点击下载链接即可开始下载: 以 Maven 3.8.4 为例,解压后可以 ...
- Oracle-where exists()、not exists() 、in()、not in()用法以及效率差异
0.exists() 用法: select * from T1 where exists(select 1 from T2 where T1.a=T2.a) 其中 "select 1 fro ...