【发布时间】:2020-06-19 02:30:11
【问题描述】:
我是新手,所以我可能会遗漏一些东西
我正在使用 react-select 来存储多个元素,并正在使用 map 函数来显示运行良好的元素。但是当我在另一个类中使用相同的元素在列表元素中显示时,它显示为空白。
这是我显示多个选项的代码。
const Departments = [
{ label: "OneIT", value: "OneIT" },
{ label: "HR", value: "HR" },
{ label: "Vigilance", value: "Vigilance" },
{ label: "Ethics", value: "Ethics" },
{ label: "Corporate Services", value: "Corporate Services" },
{ label: "Legal", value: "Legal" },
{ label: "Sports", value: "Sports" },
{ label: "TQM", value: "TQM" },
{ label: "Iron Making", value: "Iron Making" },
{ label: "TMH", value: "TMH" },
];
class MultiSelect2 extends Component {
state = {
selectedOptions: [],
};
handleChangeField = (selectedOptions) => {
this.setState({ selectedOptions });
};
render() {
const { selectedOption } = this.state;
return (
<div className="container">
<div className="row">
<div className="col-md-2"></div>
<div className="col-md-8">
<span>Select Department</span>
<Select
value={selectedOption}
options={Departments}
onChange={this.handleChangeField}
isMulti
/>
{this.state.selectedOptions.map((o) => (
<p>{o.value}</p>
))}
</div>
<div className="col-md-4"></div>
</div>
</div>
);
}
}
我试图在列表项的另一个类中显示它,但它没有显示。
export class Confirm extends Component {
state = {
selectedOptions: [],
};
render() {
const {
values: { selectedOptions },
} = this.props;
return (
<List>
<ListItemText primary="Departments" secondary={selectedOptions} />
</List>
);
}
}
我知道我可能遗漏了一些非常基本的东西,但请帮忙
【问题讨论】:
-
不清楚您要做什么,但为了在另一个组件中使用一个组件,您需要导入它并渲染它以使其显示。
-
你能帮我举个例子吗?
-
我正在尝试向我的数组 selectedOptions 显示用户在屏幕上选择的值
-
您需要通过
props共享它,只要您有<MultiSelect2 />添加像<MultiSelect2 onSelect={this.onSelectCallback} />这样的道具,并在handleChangeField 中调用该道具并将所有选定的元素传递给它。我不知道您真正需要什么,因为所有相关代码都不存在。
标签: javascript reactjs react-redux material-ui react-select