我正在创建一个应用,我需要在其中将选定的值存储在嵌套在对象中的数组中(以下类别)。状态如下:
state = {
data: {
user: "",
title: "",
text: "",
category: [], // should store values
},
updateNoteId: null,
}
在我的render()中,我具有以下形式:
<form onSubmit={this.submitNote}>
<Select
name="category"
value={this.state.data.category}
options={options}
onChange={this.handleMultiChange}
multi
/>
<input type="submit" value="Save" />
</form>
选项是:
const options = [
{ value: 1, label: 'one' },
{ value: 2, label: 'two' },
{ value: 3, label: 'three' }
]
所以问题是this.handleMultiChange
函数应该如何工作。 Category []需要保留在Select中选择的所有值,React是一个select-select组件(例如,当选择“ 1”和“ 3”时,应为category = [1,3])。我尝试了多种组合,但到目前为止,它们都没有奏效。我更喜欢在没有任何外部库/帮助程序的情况下使用ES6。
答案 0 :(得分:2)
handleMultiChange(selectedOptions) {
this.setState({
data: {
...this.state.data,
categories: selectedOptions
}
})
}