三元运算符语句中的值始终为空
value is always empty inside ternary operator statement
我正在为一个在线游戏网站使用 ReactJS 和一个名为 React-Table 的库。
在 table 中,我有一个可能为空或 NULL 的列单元格。
因此,如果该列单元格为 null、空或未定义,那么我想显示一个名为“Dungeon Master”的值。
如果它不是 null 或空的,那么我只想显示应该显示的内容(row.original.gamerTag)。
所以我尝试使用三元运算符来检查,但是无论如何,该值始终显示为空。
这里是我使用它的地方:
{
Header: 'Gamer Title',
accessor: 'gamerTitle',
Cell: ({ row }) =>
<a href="#" onClick={() =>
show(
row.original.id,
row.original.gamerTitle,
row.original.gameType,
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag,
row.original.gameDescription,
)}>
{row.original.gamerTitle}
</a>
},
我是不是用错了?我没有收到任何错误或任何信息。
谢谢!
尝试替换:
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag
与:
(row.original.gamerTag == 'undefined' || row.original.gamerTag == '' || row.original.gamerTag == null) ? 'Dungeon Master' : row.original.gamerTag
替换
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag
由
typeof row.original.gamerTag === 'undefined' || row.original.gamerTag === '' || row.original.gamerTag === null ? 'Dungeon Master' : row.original.gamerTag
有两个问题,一个是 myVar == 'undefined' 不起作用,因为你比较的是字符串而不是类型。其次,在 js 中,concat 条件不是短句法。或者你可以尝试 [undefined, null, ''].includes(row.original.gamerTag).
我正在为一个在线游戏网站使用 ReactJS 和一个名为 React-Table 的库。
在 table 中,我有一个可能为空或 NULL 的列单元格。
因此,如果该列单元格为 null、空或未定义,那么我想显示一个名为“Dungeon Master”的值。
如果它不是 null 或空的,那么我只想显示应该显示的内容(row.original.gamerTag)。
所以我尝试使用三元运算符来检查,但是无论如何,该值始终显示为空。
这里是我使用它的地方:
{
Header: 'Gamer Title',
accessor: 'gamerTitle',
Cell: ({ row }) =>
<a href="#" onClick={() =>
show(
row.original.id,
row.original.gamerTitle,
row.original.gameType,
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag,
row.original.gameDescription,
)}>
{row.original.gamerTitle}
</a>
},
我是不是用错了?我没有收到任何错误或任何信息。
谢谢!
尝试替换:
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag
与:
(row.original.gamerTag == 'undefined' || row.original.gamerTag == '' || row.original.gamerTag == null) ? 'Dungeon Master' : row.original.gamerTag
替换
(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag
由
typeof row.original.gamerTag === 'undefined' || row.original.gamerTag === '' || row.original.gamerTag === null ? 'Dungeon Master' : row.original.gamerTag
有两个问题,一个是 myVar == 'undefined' 不起作用,因为你比较的是字符串而不是类型。其次,在 js 中,concat 条件不是短句法。或者你可以尝试 [undefined, null, ''].includes(row.original.gamerTag).