我正在尝试使用单个对象数组填充我的React Bootstrap表数据。我想为每个obj创建一个新行,并为每个列创建一个表头,但是相反,它正在创建新表。
我试图将map函数(“ this.props.data.map((person,key)=>”)移入调用/渲染的位置以及其他几个地方,所以它不会多次调用componenet ,但是我在语法上遇到了麻烦。
const columns = [{
dataField: 'id',
text: 'ID'
}, {
dataField: 'firstName',
text: 'First Name'
}, {
dataField: 'lastName',
text: 'Last Name',
sort: true
}, {
dataField: 'birthDate',
text: 'Birth Date'
}, {
dataField: 'email',
text: 'Email'
}];
render(){
return(
<div>
{this.props.data.map((person, key) =>
<div key={key} >
<BootstrapTable
hover
condensed={true}
bootstrap4={true}
keyField='id'
data={person}
columns={columns}
/>
</div>
)}
</div>
);
}
答案 0 :(得分:2)
您不需要映射整个数组。您需要做的就是将this.props.data
放在data
字段中。
data={this.props.data}
然后,只要键即firstName, lastName
等在对象中,它就应该为您打印表格。
这是假设您的数组如下所示:
[{firstName: 'Bob', lastName: 'Sagget',...}, {firstName: 'George', lastName: 'Bobbish',... }]
完整的返回语句:
return(
<div>
<BootstrapTable
hover
condensed={true}
bootstrap4={true}
keyField='id'
data={this.props.data}
columns={columns}
/>
</div>
);