在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react+antd控制臺警告

react+antd控制臺警告

一個模塊的編輯頁面select選項

<Col span="8">
    <FormItem {...formItemLayout} label="品牌">
        {getFieldDecorator('brandId', {
            initialValue: data.brandId,
        })(
            <Select>
                {this.props.brand.map((item, index) => {
                    return (
                        <Option key={index} value={item.id}>{item.name}</Option>
                    )
                })}
            </Select>
        )}
    </FormItem>
</Col>

為什么設(shè)置Option的屬性value={item.id}的時候,頁面上select默認選中的就是品牌名稱,否則顯示品牌的id
然而Option的value屬性只能是string類型的,要不然控制臺會報警告
如果設(shè)置表單的initialValue: data.brandName,點擊保存按鈕的時候會報500,后臺需要的傳值是brandIdint類型

clipboard.png
Optionvalue屬性和key屬性是類似的意思,我把要傳的值放到key上并不能解決這個問題
這種警告要怎么解決

回答
編輯回答
舊螢火

Select issues

到目前為止的3.0.2版本,ant-design關(guān)于這個Select的Number屬性還不支持,寫法只能在initValue時設(shè)置成String(val.id)的形式強制轉(zhuǎn)換為String類型,然后在提交給后臺后使用Number(val)方法強制轉(zhuǎn)換為Number類型提交數(shù)據(jù)。

2018年9月18日 03:21
編輯回答
純妹

瀉藥?。?br>按如下修改:

<Col span="8">
    <FormItem {...formItemLayout} label="品牌">
        {getFieldDecorator('brandId', {
            initialValue: String(data.brandId),
        })(
            <Select>
                {this.props.brand.map((item) => {
                    return (
                        <Option key={item.id}>{item.name}</Option>
                    )
                })}
            </Select>
        )}
    </FormItem>
</Col>
2017年7月11日 21:04