AutoComplete 中dataSource设置为option,
<AutoComplete
value={this.state.value}
onSelect={this.hanldeSelect}
dataSource ={this.renderOption()}
/>
hanldeSelect = (s) => {
this.setState({
value:`${s.value}${s.name}` // 设置value值为选中option的值
})
}
renderOption = () => {
return this.state.array.map(a=>{
<Option key={a.key}>
<span>a.value</span>
<span>a.name</span>
</Option>
})
}
问题如下:
设置Option
的key
为a.key
时,选中其中一条,显示[object object]
设置Option
的key
为a.name
时,直接粘贴a.name
字符串,显示[object object]
设置Option
的key
为a.value
时,直接粘贴a.value
字符串,显示[object object]
设置Option
的key
为a.value+a.name
时,选中其中一条,显示[object object]
设置Option
的key
为a.key
+ 其他字段时,选中其中一条,显示[object object]
每次render
的时候,AutoComplete
的value
属性是正确的
怎么使这个值是this.state.value
?
hanldeSelect
接收到的value
是Option
的key
属性,需要手动对获取到的值进行处理,并重新setState
如果
finded === undefined
,需要额外处理