我有2个SelectField,我想让它作为2个不同的SelectField运行。我的代码正在运行,但当我点击第一个SelectField时,第二个SelectField也将选择与第一个相同的MenuItem。
如何将其更改为2个不同的SelectField?
<SelectField value={this.state.selectedBrandings} onChange={this.onBrandingsChange} id={t}>
{_.map(this.state.brandings, (b) => {
return <MenuItem value={b.name} primaryText={b.name} key={b.id}/>;
})}
</SelectField>
<SelectField value={this.state.selectedBrandings} onChange={this.onBrandingsChange} id={t}>
{_.map(this.state.brandings, (b) => {
return <MenuItem value={b.name} primaryText={b.name} key={b.id}/>;
})}
</SelectField>
答案 0 :(得分:0)
让它研究这些代码 功能如下:
onBrandingsChange = (event, index, value) => {
var newBrandings = this.state.selectedOrder;
newBrandings.prints.printMethod.push(value)
this.setState({selectedOrder: newBrandings});
}
渲染
{_.map(this.state.test, (t, id) => {
<SelectField value={this.state.selectedOrder.prints.printMethod[id]} onChange={this.onBrandingsChange}>
{_.map(this.state.brandings, (b) => {
return <MenuItem value={b.name} primaryText={b.name} key={b.id}/>;
})}
</SelectField>
}
答案 1 :(得分:0)
如果两个选择字段从相同的状态获取值并在onChange中更新相同的状态,则不能指望两个选择字段的工作方式不同。你应该有两种不同的状态。