大家都知道 form中Item定义的name 可以直接在submit的时候都获取到,但是如果定义了form的类型,那么对提交的data进行操作就特别容易报错,例如我给接口接收的数据结构是:{name:string,data:{a:number,b:string,c......}} ,那么在form中如何给他进行name的定义,方便我们给接口传参呢?
代码如下:
<Item
name="name"
label={xxxxxxxxxx}
rules={[{ required: true, message:'xxxxxxxxxxx'}
>
<Input placeholder={xxxxxxxxxx} />
</Item>
<Item
name={['data', 'a']}
label={xxxxxxxxxx}
rules={[{ required: true, message:'xxxxxxxxxxx'}
>
<Input placeholder={xxxxxxxxxx} />
</Item>
<Item
name={['data', 'b']}
label={xxxxxxxxxx}
rules={[{ required: true, message:'xxxxxxxxxxx'}
>
<Input placeholder={xxxxxxxxxx} />
</Item>
<Item
name={['data', 'c']}
label={xxxxxxxxxx}
rules={[{ required: true, message:'xxxxxxxxxxx'}
>
<Input placeholder={xxxxxxxxxx} />
</Item>
name 以数组的形式出现 然后submit的时候
formRef.current?.validateFields().then((data) => {
// data 在这里打印出来的数据结构就是你想要传给接口的结构了
dispatch.XXX.xxx({ data }).then(close);
});