如何从数组中添加menuItem?

时间:2018-10-10 11:27:18

标签: reactjs material-ui

这是我的数组

const cct =cca.table.field.split(',');
console.log(cct);
如何使用它为SelectInput添加menuItem
  <SelectInput value={this.state.value}
            onChange={this.handleDropDownChange}            
            maxHeight={200}
            
            floatingLabelFixed={true}
            >
            {myarray}
        </SelectInput>

我尝试过这种方式

    const cct = cca.table.field.split(',');
    const items= [];
    cct.forEach(element => {
      cct.push(<MenuItem key={element.Key} value={element.Key} primaryText={element.Value} />);
    });
    console.log(cct);

但这不起作用

2 个答案:

答案 0 :(得分:0)

通过将

括起来,将push方法的输入修改为字符串
<MenuItem key={element.Key} value={element.Key} primaryText={element.Value} />

“” 中(双引号)

这可以工作:

const cct = cca.table.field.split(',');
const items= [];
cct.forEach(element => {
  cct.push("<MenuItem key={element.Key} value={element.Key} primaryText={element.Value} />");
});
console.log(cct);

答案 1 :(得分:0)

我假设您正在尝试使用Material UI SelectMenuItem组件。

以下方法应该起作用:

render() {
  const cct = cca.table.field.split(',');

  const menuItems = cct.map(item => (
    <MenuItem key={element.Key} value={element.Key}>{item.Value}</MenuItem>
  ));

  return (
    <Select 
      value={this.state.value}
      onChange={this.handleDropDownChange}
    >
      {menuItems}
    </Select>
  );
}