antd Form表单的initialValue问题

发布于 2022-09-11 18:54:31 字数 2757 浏览 17 评论 0

在initial中是有初始值的,但是却不显示初始值,请大佬解答一下这个问题

            const formItem = [
                { type: 3, label: '柜子编号', name: 'ID', width: '150px', required: true },
                { type: 1, label: '柜子名称', name: 'name', width: '150px', },
                { type: 1, label: '所属仓库', name: 'wareHouse', width: '150px' },
                { type: 1, label: '容量', name: 'capacity', width: '150px' },
                { type: 1, label: '运维人', name: 'people', width: '150px', },
                { type: 3, label: '联系方式', name: 'phoneNum', width: '300px' },
                { type: 1, label: '柜子地址', name: 'address', width: '300px' },
                { type: 2, label: '柜子状态', name: 'status', width: '150px', value: ['停用', '正常'] },
                { type: 1, label: '操作员', name: 'operator', width: '150px' },
            ];

                    {formItem.map(i => (
                        <Col key={i.name} span={i.span ? i.span : 12}>
                            <Form.Item {...formItemLayout} label={i.label} help={i.help}>
                                {getFieldDecorator(i.name, {
                                    initialValue: initial ? initial[i.name] : null,
                                    rules: [{ required: i.name === 'ID' ? true : false }]
                                })((() => {
                                    console.log(initial)
                                    switch (i.type) {
                                        case 1:
                                            return <div>
                                                <Input style={{ width: `${i.width}` }} />
                                            </div>
                                        case 2:
                                            return <Select style={{ width: `${i.width}` }}>
                                                {i.value.map(v => (<Option key={v} value={v}>{v}</Option>))}
                                            </Select>
                                        case 3:
                                            return <div>
                                                <Input style={{ width: `${i.width}` }} />
                                            </div>
                                        default:
                                            return null
                                    }
                                })())}
                            </Form.Item>
                        </Col>
                    ))}

图片描述

箭头指的地方设置了每一项的初始值,但是表单却没有获取到,确定initial当中是有初始值的,表单却不显示,请大佬解答一下!

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

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

发布评论

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

评论(2

小梨窩很甜 2022-09-18 18:54:31

initial ? initial[i.name] : null
这样写initial不应该是布尔类型吗,但是它是对象

撧情箌佬 2022-09-18 18:54:31

如果getFieldDecorator单独放InputinitialValue没有问题 但是用span包裹一层,需要给InputdefaultValue 经验来的,不知道为啥

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