我正在使用 react-bootstrap-table 来显示一些数据,这些数据来自 ajax 结果。
constructor() {
super();
this.state = {
data:[]
};
}
componentDidMount() {
this.loadData()
}
loadData() {
$.ajax({
url: 'url',
dataType: 'json',
success: function(data) {
this.setState({data: data});
}.bind(this)
});
}
render() {
return (
<BootstrapTable data={this.state.data}>
<TableHeaderColumn dataField="status">STATUS</TableHeaderColumn>
<TableHeaderColumn dataField="title" isKey={true}>TITLE</TableHeaderColumn>
<TableHeaderColumn dataField="type">TYPE</TableHeaderColumn>
<TableHeaderColumn dataField="start">test</TableHeaderColumn>
<TableHeaderColumn dataField="end">END</TableHeaderColumn>
<TableHeaderColumn dataField="days used">DAYS USED</TableHeaderColumn>
</BootstrapTable>
);
}
这是行不通的,但是如果我把一些真实的数据放进去,它就会起作用,就像这样:
constructor() {
super();
this.state = {
data:[{id:1,name:"name"}]
};
}
似乎引导表需要具有非空数据才能使其工作。那么如何让表格等待ajax完成然后抓取数据呢?