Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据填充到材料ui下拉列表中_Javascript_Reactjs_Material Ui - Fatal编程技术网

Javascript 将数据填充到材料ui下拉列表中

Javascript 将数据填充到材料ui下拉列表中,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我需要一些帮助,我想把数据填充到一个下拉列表中,我使用的是material ui,但我不知道怎么做,我真的很难做出反应,我知道我可以使用道具,然后将它们传递到下拉列表中,但我不太清楚 这是我的代码: import React from 'react'; import DropDownMenu from 'material-ui/DropDownMenu'; import MenuItem from 'material-ui/MenuItem'; export default class C

我需要一些帮助,我想把数据填充到一个下拉列表中,我使用的是material ui,但我不知道怎么做,我真的很难做出反应,我知道我可以使用道具,然后将它们传递到下拉列表中,但我不太清楚

这是我的代码:

import React from 'react';
import DropDownMenu from 'material-ui/DropDownMenu';
import MenuItem from 'material-ui/MenuItem';



export default class CreateLinksave extends React.Component {

 constructor(props) {
   super(props);
   this.state = {value: 1
   };
   this.handleChange=this.handleChange.bind(this);
 }
 handleChange(event, index, value) {this.setState({value});}

render() {
 return (
    <div className="container">
     <div>
       <RaisedButton label="Copy an existing Global Multisave"/>
     </div>
      <div>
      <DropDownMenu value={this.state.value} onChange={this.handleChange}>
        <MenuItem value={1} primaryText="Never" />
        <MenuItem value={2} primaryText="Every Night" />
        <MenuItem value={3} primaryText="Weeknights" />
      </DropDownMenu>
      </div>
     </div>
  );
 }
}
从“React”导入React;
从“物料界面/下拉菜单”导入下拉菜单;
从“物料界面/菜单项”导入菜单项;
导出默认类CreateLinksave扩展React.Component{
建造师(道具){
超级(道具);
this.state={值:1
};
this.handleChange=this.handleChange.bind(this);
}
handleChange(事件、索引、值){this.setState({value});}
render(){
返回(
);
}
}
正如你所看到的,我的下拉列表“硬编码”中有一些选项,但我想让它成为动态的,所以如果更多的选项被添加到道具中,那么这会自动填充它们

谁能帮我一下吗


关于。

假设您可以将这些道具作为阵列发送:

items = [
  { value: 1, primaryText: 'Never' },
  { value: 2, primaryText: 'Every Night' },
  { value: 3, primaryText: 'Weeknights' },
]
只需通过它们进行映射,您将得到相同的结果:

render() {
  return (
    <div>
      <DropDownMenu value={this.state.value} onChange={this.handleChange}>
        {this.props.items.map(item =>
          <MenuItem key={item.value} {...item} />
        )}
      </DropDownMenu>
    </div>
  )
}
render(){
返回(
{this.props.items.map(item=>
)}
)
}

谢谢您的时间,还有一个问题,我不知道它是否与ES6或其他相关,但我在阵列上得到了一个“SyntaxError:Unexpected token”,问题在于Items阵列的“=”符号。请检查您的ES6配置(主要是babel)是否支持箭头功能。如果没有,您可以将
=>
替换为
函数(项){return}
,这也可以。看起来语法有点不正确,开始应该是卷曲的:{this.props.item…没关系,我可以编辑帖子