素材巴巴 > 程序开发 >

antd setFieldsValue 设置表单项的值

程序开发 2023-09-03 11:01:47

一、查看antd文档发现表单项的值不能通过设置状态来更新,我们应该使用form.setFieldValue来更新

不能用setState改变表单项的值

二、setFieldsValue是表单实例的方法,怎么获取表单实例呢?

1.函数式组件中,获取表单实例通过Form.useForm()获取
	//生成表单实例const [form] = Form.useForm()/*将生成的表单实例连接到表单元素,给需要控制的表单元素设置form属性,newVal是新值*/form = {form}/*通过setFieldsValue设置表单item的值,其中,name是Form.item的name值*/form.setFieldsValue({name:newVal})
 

PS:如果没有将表单实例连接到表单元素会有如下warning提示
warning提示

2.类组件中,使用ref获取表单实例
//创建ref实例
 formRef = React.createRef()
 //在Form中绑定
 ref = {this.formRef}
 //在想要修改Form.Item的值的地方进行修改
 this.formRef.current.resetFields();
 

PS:如果不在Form中绑定,current会为null
在这里插入图片描述


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。