0
getFieldDecorator('bindSelect', {initialValue: getFieldValue('binds').map(item => item.title) })(
    <Select mode="multiple" onDeselect={this.removeBindItem} onSelect={this.selectBindItem} filterOption={false}>
        {this.state.bindItems.map(item => 
            <Select.Option id={item._id} title={item.title} key={item._id} value={item.title}>{item.title}</Select.Option>
        )}
    </Select>
)

Option可以设置自定义的属性 id, title, code...,Select选择器的onDeselect, onSelect, onSearch事件

function(value, option)

可以通过option来获得复杂的数据对象。这很棒!

可是在通过表单双向绑定设置Select的默认值时只能是字符串。
因为Option实时检索出来的值可能标题相同但其它属性不同,所以希望初始化设置的值除了具有text,还希望有其它属性。我该如何做到?

1个回答

0

1.虽然表单绑定了值,但是你还是可以在select事件或者change事件里获取到你需要的值
2.也可以把你的value构造成是其他几个属性组合起来的形式,比如

value={item.title + ':' + item._id}
或者
value={JSON.stringfy(item)}

撰写答案

Planets