一、查看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
在这里插入图片描述

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐