【发布时间】:2018-10-30 21:42:34
【问题描述】:
我有一个 MultiSelect 和一个 React Table.. Select 将值存储到 value Array..
现在我可以选择一个选项并且表格正确显示数据。但是,我希望为每个选定的选项呈现一个表格。我怎样才能实现这样的目标?
handleSelectChange (value) {
console.log('You\'ve selected:', value);
this.setState({ value: value }, () => this.fetchTable());
}
fetchTable() {
const url = 'http://localhost:8000/issues/from/';
const value = this.state.value;
const string = url+value;
fetch(string)
.then(function(response) {
return response.json();
})
.then((myJson) => this.setState({data: myJson.issues}));
}
componentDidMount() {
this.fetchData();
}
render() {
const filteredResult = this.state.boards.map(item => (
{
value: item.key,
label: item.name,
}
));
const filteredResult1 = this.state.data.map(item => (
{
name: item.fields,
id: item.id,
key: item.key,
}
));
return (
<div>
<Select
closeOnSelect={!stayOpen}
disabled={disabled}
multi
onChange={this.handleSelectChange}
options={filteredResult}
placeholder="Select Assignee(s)..."
removeSelected={this.state.removeSelected}
rtl={this.state.rtl}
simpleValue
value={value}
/>
<ResponseTable data={filteredResult1} />
</div>
);
}
}
【问题讨论】:
-
你尝试了什么?哪一部分难?
-
你能告诉我filteredResult和filteredResult1之间的关系吗?由于filteredResult1是基于filteredResult的,这两者之间是否存在id映射。选定的选项 id 将获取过滤结果 2 的数据
-
@Jeeva 我使用 FilteredResult 来“过滤”数据,( FilteredResult )用于选择,( FilteredResult1 )用于表。由于我从 FetchTable 获得的数据非常庞大,我只需要几个值!
-
是的,如果我错了,请纠正我,filteredResult1(数据)是基于filteredResult(选择选项)的权利。根据过滤结果中的 id,您正在获取作为过滤结果 1 的数据。对吗?
-
@TMG ,我不确定如何实现它,我必须为每个值创建一个 fetchTable,然后来自 fetch 的数据必须以不同的状态保存?像数据1,数据2?然后我也不知道如何为每个值呈现表格..
标签: reactjs