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

发布于 2022-09-12 04:13:06 字数 756 浏览 20 评论 0

如果可以的话,这样做写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要是支持对象就好了,某些场景下数组确实很不方便。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖上得阳光 2022-09-19 04:13:06

我记得name支持多级的

<Form.Item label="foo" name="a.b.c.d" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文