2017-11-07 10 views
0

몇 가지 도움이 필요합니다. 데이터를 드롭 다운에 채우고 싶습니다. 재료를 사용하고 있지만 어떻게 해야할지 모르겠습니다. 나는 소품을 사용할 수 있고 그 소품을 드롭 다운으로 전달할 수 있다는 것을 알고 있지만 그것은 분명하지 않습니다. 당신이 볼 수 있듯이, 나는 "하드"내 드롭 다운에서 몇 가지 옵션을 가지고 있지만 나는 그것을 동적으로 만들고 싶어, 그래서 더 많은 옵션은 다음 소품이 채우기를 추가하는 경우자료를 재질에 맞게 입력하십시오. React JS

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> 
); 
} 
} 

:

내 코드입니다 그들을 자동으로.

누군가 나를 도와주세요.

감사합니다.

items = [ 
    { value: 1, primaryText: 'Never' }, 
    { value: 2, primaryText: 'Every Night' }, 
    { value: 3, primaryText: 'Weeknights' }, 
] 

단순히 그들을 통해지도와 같은 결과를 얻을 것이다 :

답변

1

당신이 배열로 그 소품을 보낼 수 있습니다 가정 시간에 대한

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

감사합니다, 하나 개 더 질문을, ES6이나 그와 관련이 있는지 알지 못하는데, 배열에서 "SyntaxError : Unexpected token"이 나오면 문제는 Items 배열의 "="기호에 있습니다. – kennechu

+0

es6 구성 (주로 babel)이 화살표 기능을 지원하는지 확인하십시오. 그렇지 않다면,'=>'를'function (item) {return }'으로 대체 할 수 있습니다. – mersocarlin

+0

구문이 약간 꺼져있는 것처럼 보입니다. 시작은 곱슬해야합니다. {this.props.item ... 절대로 마음이 들지 않아서 게시물을 편집 할 수 없었습니다. – schmoopy