Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
74 views
in Technique[技术] by (71.8m points)

antd的form组件能否一个大name对应多个小name

如果可以的话,这样做写Form内的组件很方便。翻遍了文档,只有Form.List有这个功能,但是Form.List毕竟是做动态增删表单的,它设计的子name只能是数组,这样在某些场景就很不方便,有没有更好的办法。

<Form.List name="demo">
    {()=>{
        return (
            <>
                <Form.Item label="foo" name={[0,'foo']}>
                    <Foo/>
                </Form.Item>
                <Form.Item label="bar" name={[1,'bar']}>
                    <Bar/>
                </Form.Item>
            </>
        )
    }}
</Form.List>

这样写表单submit成功后,拿到的结果会是这样的结构

{
    ...
    list:[
        {
            foo:'xxx'
        },
        {
            bar: 'xxx'
        }
    ]
    ...
}

这里的list要是支持对象就好了,某些场景下数组确实很不方便。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

我记得name支持多级的

<Form.Item label="foo" name="a.b.c.d" />

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...