React-Select 下拉列表不显示输入中的数组或值选项
React-Select dropdown is not displaying options of array or value in input
所以我 运行 遇到了这个问题,其中组件加载得很好,出现了一个下拉列表,但是它没有显示任何标签或值。当我单击该选项时,它会显示一个选定的框,但框中没有任何内容。请看下面的代码。我将最新的 React-Select 用于多 select 输入,但找不到任何关于如何为多 select.
构建数组的文档
import React, { Component } from 'react';
import '../index.css';
import Select from "react-select";
export class Invite extends Component {
constructor(props) {
super(props);
this.state = {
multiValue: [],
filterOptions: []
};
this.handleMultiChange = this.handleMultiChange.bind(this);
}
componentDidMount = () => {
let userList = [];
let list = [];
list = this.props.hub.users;
for (var i = 0; i < list.length; i++) {
userList.push([{label: list[i].userName, value: list[i].userName }]);
}
this.setState({ filterOptions: userList });
}
handleMultiChange(option) {
this.setState(state => {
return {
multiValue: option
};
});
}
render() {
return (<div className="invite">
<Select
name="Users"
placeholder="Users"
value={this.state.multiValue}
options={this.state.filterOptions}
onChange={this.handleMultiChange.bind(this)}
isMulti
/>
</div>);
}
}
你在 componentDidMount
中弄错了 userList
应该是对象数组而不是数组数组。
componentDidMount = () => {
let userList = [];
let list = [];
list = this.props.hub.users;
for (var i = 0; i < list.length; i++) {
userList.push({
label: list[i].userName,
value: list[i].userName
});
}
this.setState({
filterOptions: userList
});
}
有关详细信息,请访问 documentation。
所以我 运行 遇到了这个问题,其中组件加载得很好,出现了一个下拉列表,但是它没有显示任何标签或值。当我单击该选项时,它会显示一个选定的框,但框中没有任何内容。请看下面的代码。我将最新的 React-Select 用于多 select 输入,但找不到任何关于如何为多 select.
构建数组的文档import React, { Component } from 'react';
import '../index.css';
import Select from "react-select";
export class Invite extends Component {
constructor(props) {
super(props);
this.state = {
multiValue: [],
filterOptions: []
};
this.handleMultiChange = this.handleMultiChange.bind(this);
}
componentDidMount = () => {
let userList = [];
let list = [];
list = this.props.hub.users;
for (var i = 0; i < list.length; i++) {
userList.push([{label: list[i].userName, value: list[i].userName }]);
}
this.setState({ filterOptions: userList });
}
handleMultiChange(option) {
this.setState(state => {
return {
multiValue: option
};
});
}
render() {
return (<div className="invite">
<Select
name="Users"
placeholder="Users"
value={this.state.multiValue}
options={this.state.filterOptions}
onChange={this.handleMultiChange.bind(this)}
isMulti
/>
</div>);
}
}
你在 componentDidMount
中弄错了 userList
应该是对象数组而不是数组数组。
componentDidMount = () => {
let userList = [];
let list = [];
list = this.props.hub.users;
for (var i = 0; i < list.length; i++) {
userList.push({
label: list[i].userName,
value: list[i].userName
});
}
this.setState({
filterOptions: userList
});
}
有关详细信息,请访问 documentation。