[英]Ternary Operator if else if issue
盯着它看了好几天,iv的一切发现它都应该起作用,但总是以''结尾。 我正在检查可以为正或为负的价格变化,因此> 0 <0。
{parseInt(item.CheeseBarrelChange) > 0 ? <i className={styles.up}></i> :
parseInt(item.CheeseBarrelChange) < 0 ? <i className={styles.down}></i> :''}
三元语句本身似乎没有什么不对,因此,如果条件持续失败且您认为数字大于零或小于零,则该数字为零。 确保CheeseBarrelChange
的parseInt
结果不是NaN
。
function change(input) { const c = parseInt(input.value); const i = c > 0 ? 'up' : c < 0 ? 'down' : ''; console.log({ change: c, icon: i}); }
<input value="0" onchange="change(this)"/>
为了对此进行检查,您可以考虑将语句移至函数中并使用常规的if或switch语句。
检查是否是我得到NaN引起了我的思考,问题是ParseInt,切换到parseFloat,现在可以使用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.