как установить значение в реакции-выборе - PullRequest
0 голосов
/ 28 мая 2020

как установить значение по идентификатору в response-select. Например, я хочу выбрать значение метки в соответствии со значением идентификатора. id = "2" result = "Summer"

class MyComponent extends React.Component {
  constructor(props) {
    super(props);

    this.state = { selectedOption: "" };
  }

  options = [
    { id: "1", value: "Spring", label: "Spring" },
    { id: "2", value: "Summer", label: "Summer" },
    { id: "3", value: "Autumn", label: "Autumn" },
    { id: "4", value: "Winter", label: "Winter" }
  ];

  handleChange = selectedOption => {
    this.setState({ selectedOption });
  };

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

Здесь вы можете увидеть мой CodeSandbox . Заранее благодарим вас за помощь и руководство

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Пожалуйста, проверьте этот пример:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

import Select from "react-select";

class MyComponent extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      selectedOption: ''
    };
  }

  options = [
    { id: "1", value: "Spring", label: "Spring" },
    { id: "2", value: "Summer", label: "Summer" },
    { id: "3", value: "Autumn", label: "Autumn" },
    { id: "4", value: "Winter", label: "Winter" }
  ];

  handleChange = selectedOption => {
    this.setState({ selectedOption });
  };

  render() {
    return (
      <div>
        <Select
          value={this.state.selectedOption}
          onChange={this.handleChange}
          options={this.options}
        />
        <button
          onClick={() => {
            let summer = this.options.find(o => o.id === "2");
            this.setState({ selectedOption: summer });
          }}
        >
          Set Summer
        </button>
      </div>
    );
  }
}

ReactDOM.render(<MyComponent />, document.getElementById("app"));

Здесь вы можете увидеть мой CodeSandbox.

0 голосов
/ 28 мая 2020

response-select возвращает весь объект {id, value, label} onChange. Для установки выбранного значения метки

  handleChange = selectedOption => {
    this.setState({ selectedOption: selectedOption.value }); // selected option value
  };
...