Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   React выпадающий список (https://javascript.ru/forum/library-toolkit-framework/74407-react-vypadayushhijj-spisok.html)

VyacheslavBozere 08.07.2018 20:29

React выпадающий список
 
Всех приветствую!
Помогите пожалуйста, хочу сделать компонент на react "выпадающий список", сколько в массиве элементов, столько и <option>arrEl</option> соответственно. Не знаю что и придумать, вот мой код, ругается.
<html>
<head>
	<title></title>
</head>
<body>
	<div id="root"></div>		
	<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.25.0/babel.min.js"></script>
    <script type="text/babel">
  
	class DropList extends React.Component {
	constructor(props){
	super(props);
	
     }

    let arr = [1, 2, 3]; 
    let selected = <select id="cities"></select>
	for (let el of arr) {
		selected.appendChield("<option>el</option>");
//хотелось бы что то типа appendChield как у чистого JS. Что тут можно придумать ? 
	}
     render () {
     return selected;         
	}          
 }    	
	ReactDOM.render(
	<DropList />,
	document.getElementById('root')
	)
    </script>

</body>
</html>

SuperZen 11.07.2018 14:29

class DropList extends React.Component {
	constructor(props){
	  super(props);
    this.state = {
      options: [1,2,3]
    }
  }
  render() {
    return <select>{this.state.options.map((option, idx) => <option key={idx}>{option}</option>)}</select>
  }
}
ReactDOM.render(<DropList />, document.getElementById('root'))


Часовой пояс GMT +3, время: 23:30.