Reactjs 如何使用材质UI在react上动态创建选择和状态?
我需要根据我拥有的选择列表创建选择组件,例如: 列表->项目1, 项目2 组成部分:Reactjs 如何使用材质UI在react上动态创建选择和状态?,reactjs,list,select,state,material-ui,Reactjs,List,Select,State,Material Ui,我需要根据我拥有的选择列表创建选择组件,例如: 列表->项目1, 项目2 组成部分: <Select value={this.state."NAME OF THE ITEM ON THE LIST"} onChange={this.handleChange} <MenuItem value={X} key={X} > Something </MenuItem> (the MenuItem part is working) </Select>
<Select
value={this.state."NAME OF THE ITEM ON THE LIST"}
onChange={this.handleChange}
<MenuItem value={X} key={X} > Something </MenuItem> (the MenuItem part is working)
</Select>
如何动态创建
状态
,以便如果我有一个包含X个iten的列表,它将创建X个选择
和X个状态
,以进行更新?您可以在状态中使用数组属性来管理这些项
state = {
items: []
}
然后,在动态添加select时,必须在此数组中添加新值
addItem = () => {
this.setState({
items: [
...this.state.items, // previous items
{ value: ""} // plus the new one
]
});
};
最后,当渲染“选择”时
<Select
value={this.state.items[index].value
onChange={event => {
this.setState({ // map over the array to modify the matching item
items: this.state.items.map(
(item, idx) =>
idx === index ? {...item, value: event.target.value} : item
)
});
}}>
{
此.setState({//)映射到数组以修改匹配项
项目:this.state.items.map(
(项目,idx)=>
idx==索引?{…项,值:event.target.value}:项
)
});
}}>
希望下面的代码片段能帮助您
{this.props.data.map((e, keyIndex) => {
return (<MenuItem key={keyIndex} value={e.warehouseId}>{e.name}</MenuItem>);
})
}
{this.props.data.map((e,keyIndex)=>{
返回({e.name});
})
}
在这一部分:value={this.state.items[index].value}你能举一个有效的例子让我和我做的做一个比较吗?没关系,只要想清楚,但是你的答案给了我正确的路径,thanks@LucioZenir什么是[index]
?
{this.props.data.map((e, keyIndex) => {
return (<MenuItem key={keyIndex} value={e.warehouseId}>{e.name}</MenuItem>);
})
}