如何将标准的“选择”标签转换为“反应选择”

时间:2019-04-10 14:58:09

标签: reactjs select react-select

我想将其转换为来自react-select的内容。传递的所有数据都可以正常使用,但是当我将其更改为不起作用时(因为它需要其他选项),我想知道如何使这段代码与React-Select兼容。

<div>
   <select value={this.state.currency} onChange={this.getTest}>
      {this.state.items.map((obj, index) => 
         <option key={${index}-${obj.country}} value={obj}> {obj} </option>
      )} 
   </select>
</div>

2 个答案:

答案 0 :(得分:0)

不需要为您的选择元素指定“值”。 而是需要在onChange函数上相应地设置状态。

如果这样做是为了以某种方式“绑定”选择选项和状态,则您可能没有采取反应的方式(可能是由于Angular背景,这两种方式才是可行的方式)。

答案 1 :(得分:0)

图书馆的好榜样

import React from 'react';
import Select from 'react-select';

const options = [
  { value: 'chocolate', label: 'Chocolate' },
  { value: 'strawberry', label: 'Strawberry' },
  { value: 'vanilla', label: 'Vanilla' }
];

class App extends React.Component {
  state = {
    selectedOption: null,
  }
  handleChange = (selectedOption) => {
    this.setState({ selectedOption });
    console.log(`Option selected:`, selectedOption);
  }
  render() {
    const { selectedOption } = this.state;

    return (
      <Select
        value={selectedOption}
        onChange={this.handleChange}
        options={options}
      />
    );
  }
}