Form.List使用总结

使用Form.List是因为我的项目中涉及到一个两个单选按钮,当点击来自定义单选按钮就显示input框的问题,我当时最初没有选择用Form.List遇到了各种各样的坑,造成了很大时间上的浪费,初次用Form.List虽然会有点抵抗,但是却解决我的代码洁癖,写完感觉我的代码是非常整洁的。
使用:
注:一下是省略写法,主要是用来总结Form.List的使用,具体操作还是要看项目的需求

const users = [
	{
		name:'min',
		label:  '小刚',
	},
	{
		name: 'max'
		label: '小王',
	}
]
<Form initialValues={{user: users}}> 
	<Form.List name="user"> // 这里的name必须得和initialValues中的对象属性名是一致的
	{(fileds) => { // 这里的fileds就是users的多少条数据,log出来看看内容
		return <>
			{
				fileds.map((item, index) => {
					return <>
						<Form.Item
							name={[item.name,] users[index].name}
                            label={users[index].label}
						>
						<Radio.Group onChange={onChange} value={value}>
						      <Radio value={1}>默认值</Radio>
						      <Radio value={2}>
						      	自定义
						      	<Form.Item ...>
						      		<Input />
						      	</Form.Item>
						      </Radio>
					    </Radio.Group>
						</Form.Item>
					</>
				})
			}
		</>
	}}	
	</Form.List>
</Form>

我认为Form.List就是相当于对表单分组了,然后进行分组后的Form.Item进行嵌套使用,从而解决我们最后在提交请求接口的时候解决取值的问题。
注:使用了Form.List后最后使用getFieldsValue()获取值的时候,也是user:{}包裹了一层对象的

initialValues设置的是初始值,我们可以用setFieldsValue({user: []})去更新值。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值