使用 react-select 设置多选

jkt*_*vis 1 javascript reactjs react-select

我可能只是忽略了一些东西,但我无法弄清楚为什么我似乎无法使用 react-select 配置多选。

这是我所看到的一个工作示例

请注意,在多选中只能选择一个项目,然后在清除当前项目之前不再加载下拉列表。此外,当该项目被清除时,您可以看到所有选项,看起来鼠标悬停的突出显示不再有效。

代码:

import React from "react";
import { render } from "react-dom";
import Select from "react-select";
import "react-select/dist/react-select.css";

class App extends React.Component {
  constructor() {
    super();
    this.state = {
      multiValue: null,
      filterOptions: [
        { name: "foo", label: "Foo" },
        { name: "bar", label: "Bar" },
        { name: "bat", label: "Bat" }
      ]
    };

    this.handleMultiChange = this.handleMultiChange.bind(this);
  }

  handleMultiChange(option) {
    this.setState(state => {
      return {
        multiValue: option
      };
    });
    console.log(option);
  }

  render() {
    return (
      <div>
        <label>Multi (not working)</label>
        <Select
          name="filters"
          placeholder="Filters"
          value={this.state.multiValue}
          options={this.state.filterOptions}
          onChange={this.handleMultiChange}
          multi
        />
      </div>
    );
  }
}

render(<App />, document.getElementById("root"));
Run Code Online (Sandbox Code Playgroud)

Nik*_*nis 7

您设置了错误的键name而不是value选择选项

工作示例:https : //codesandbox.io/s/yj804nzpv