Shorthand 检查以将对象字段值和对象键映射到 Tsx 元素
Shorthand check to map object field value and object key to Tsx element
晚上好。
我有一个对象数组,我试图将其映射到 tsx table 元素,但是我需要显示每个字段的关联键。
我已经尝试使用 Object.keys(item)[index] 但是我无法将其设为 return 值。
我正在寻求有关速记检查的帮助,我已经尝试了一些但没有成功。
{myArray.map((item: any) => (
<TableRow key={item.name}>
<TableCell >{item.name === row.name ? `${Object.keys(item)[2]}` && item.a || item.b || item.c || item.d || item.e : null}</TableCell>
</TableRow>
))}
我的数组如下所示:
[
{
a: 2,
name: "obj1"
},
{
b: 3,
name: "obj2"
},
{
c: 2,
d: 5,
name: "obj3"
}
]
当我在元素上映射时,它将 return 每个对象的 table 行,但是我试图让行数据显示如下。
"a 2 ", // this will be the row data for obj1
"b 3 ",
"c 2, d 5"
TIA :)
听起来您需要遍历条目(name
键除外),并将键和值连接在一起:
<TableRow key={item.name}>
<TableCell>{GetCell(item)}</TableCell>
</TableRow>
const GetCell = ({ name, ...rest }) => {
return Object.entries(rest)
.map(entry => entry.join(' '))
.join(', ');
};
或者,如果您想为每个非name
键创建一个单独的单元格:
{myArray.map(({ name, ...rest }) => (
<TableRow key={name}>{
Object.entries(rest)
.map(entry => <TableCell>{entry.join(' ')}</TableCell>)
}</TableRow>
))}
晚上好。
我有一个对象数组,我试图将其映射到 tsx table 元素,但是我需要显示每个字段的关联键。
我已经尝试使用 Object.keys(item)[index] 但是我无法将其设为 return 值。 我正在寻求有关速记检查的帮助,我已经尝试了一些但没有成功。
{myArray.map((item: any) => (
<TableRow key={item.name}>
<TableCell >{item.name === row.name ? `${Object.keys(item)[2]}` && item.a || item.b || item.c || item.d || item.e : null}</TableCell>
</TableRow>
))}
我的数组如下所示:
[
{
a: 2,
name: "obj1"
},
{
b: 3,
name: "obj2"
},
{
c: 2,
d: 5,
name: "obj3"
}
]
当我在元素上映射时,它将 return 每个对象的 table 行,但是我试图让行数据显示如下。
"a 2 ", // this will be the row data for obj1
"b 3 ",
"c 2, d 5"
TIA :)
听起来您需要遍历条目(name
键除外),并将键和值连接在一起:
<TableRow key={item.name}>
<TableCell>{GetCell(item)}</TableCell>
</TableRow>
const GetCell = ({ name, ...rest }) => {
return Object.entries(rest)
.map(entry => entry.join(' '))
.join(', ');
};
或者,如果您想为每个非name
键创建一个单独的单元格:
{myArray.map(({ name, ...rest }) => (
<TableRow key={name}>{
Object.entries(rest)
.map(entry => <TableCell>{entry.join(' ')}</TableCell>)
}</TableRow>
))}