gpt4 book ai didi

reactjs - 将多个数据添加到react-table中的列

转载 作者:行者123 更新时间:2023-12-03 13:58:40 24 4
gpt4 key购买 nike

我有一个使用react-table的表,但对于其中一列,我想显示两条数据 - 名称和描述。

getInitialState(){
return {
data: [{
id: 1,
keyword: 'Example Keyword',
product: [
name: 'Red Shoe',
description: 'This is a red shoe.'
]
},{
id: 2,
keyword: 'Second Example Keyword',
product: [
name: 'blue shirt',
description: 'This is a blue shirt.'
]
}]
}
},
render(){
const { data } = this.state;

return (
<div className="app-body">
<ReactTable
data={data}
columns={[{
columns: [{
Header: 'Id',
accessor: id,
show: false
}, {
Header: 'Keyword',
accessor: 'keyword'
}, {
Header: 'Product',
accessor: 'product' // <<< here
}]
}]}
defaultPageSize={10}
className="-highlight"
/>
</div>
)
}

如果访问器是Product,我想在“产品”列中显示名称和描述(我将设置它们的样式以使用不同的字体大小进行堆叠)。

我尝试过对该列使用 Cell: row => 属性,并认为我也可以尝试调用一个对其进行布局的函数,但我两次都收到错误。

有什么想法可以做到这一点吗?

最佳答案

事实上,您应该使用 Cell 来实现此目的,如下所示:

getInitialState(){
return {
data: [
{
id: 1,
keyword: 'Example Keyword',
product: [
name: 'Red Shoe',
description: 'This is a red shoe.'
]
},{
id: 2,
keyword: 'Second Example Keyword',
product: [
name: 'blue shirt',
description: 'This is a blue shirt.'
]
}]
}
},
render(){
const { data } = this.state;

return (
<div className="app-body">
<ReactTable
data={data}
columns={[{
columns: [{
Header: 'Id',
accessor: id,
show: false
}, {
Header: 'Keyword',
accessor: 'keyword'
}, {
Header: 'Product',
accessor: 'product',
Cell: ({row}) => { //spread the props
return (
<div>
<span className="class-for-name">{row.product.name}</span>
<span className="class-for-description">{row.product.description}</span>
</div>
)
}
}]
}]}
defaultPageSize={10}
className="-highlight"
/>
</div>

)
}

我发现的另一件事是产品属性应该是一个对象而不是数组,因此更改此:

product: [
name: 'blue shirt',
description: 'This is a blue shirt.'
]

对此:

product: {
name: 'blue shirt',
description: 'This is a blue shirt.'
}

关于reactjs - 将多个数据添加到react-table中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49563341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com