React 组件 pros 传参为什么会丢失 value 属性?

现在想要传递一个初始化的表单数据到 useState 里而且表单里的字段是通过接口出来的,但现在根据文档参数被 {} 限制了,想问下额外的参数要怎么传递?<FormProvider>

 {form.item.map((item: Item, key: number) => (
    <Form.Item
        key={key}
        label={item.name}
        <Item {...item}/>
    </Form.Item>
))}
interface Item {
    name: string,
    column: string,
    value: any,
    container?: string,
    Attrs: Attr,
}

const Item: React.FC<Item> = ( props: Item ) => {

    console.log(props)

    switch (props.container) {
        case 'input':
            return <Design_Input {...props} />
    }

}

image.png

可以看到接口中是有 value 的但是到了组件里就没了?这是什么奇怪的问题?

image.png

阅读 1.2k
2 个回答

问题解决了:我用的是 antd-mobileForm 组件,表单控件的值必须通过 Form.IteminitialValue 来传递,否则想我传递过去也是 undefined

 <Form.Item
    key={key}
    label={item.name}
    name={item.column}
    initialValue={item.value !== null ? item.value : ""}
    <Item {...item}/>
</Form.Item>
新手上路,请多包涵

你可以试试把value显式的传进去

 {form.item.map((item: Item, key: number) => (
    <Form.Item
        key={key}
        label={item.name}
        value={item.value}
        <Item {...item}/>
    </Form.Item>
))}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题