记录自己在开发过程中遇到的报错问题:
目录
- 原本写法:
- 错误分析:
- 解决方案:
原本写法:
render: (text) => {
console.log(text, "111111text");
console.log(typeof text, "111111text");
return text ? `${text}次` : "--";
},
简单的render渲染,text数据后端返回0,页面展示的–,而不是0次;
错误分析:
这里是因为在JavaScript中,数字0在布尔上下文中被视为false,所以在三元表达式中 text ? ${text}次 : “- -” 中,当 text 是 0 的时候,这个条件会评估为 false,然后返回 “- -”。
解决方案:
可以使用严格相等运算符 === 来检查 text 是否为 null 或 undefined,而不是依赖于 text 的布尔值。
render: (text) => {
return (text === null || text === undefined)? "--" : `${text}次`;
}
或者是
render: (text) => {
return text !== null && text !== undefined && text !== '' ? `${text}次` : "--";
}