是否可以在 3 个条件下执行三元运算,但只有一个默认条件?
这是我的代码:
<Button
rounded={true}
title='Add Address'
backgroundColor='#2980b9'
rightIcon={{name: 'arrow-forward'}}
disabled={this.state.timeSlotItemSelected === null || this.state.quantityItemSelected === null ? true : false}
/>
在此,this.state.timeSlotItemSelected
是默认值。我需要的是,每当 this.state.timeSlotItemSelected
和 this.state.quantityItemSelected
为 null 时,结果应该为 true
,并且每当 this.state.timeSlotItemSelected
和 this.state.deliveryOptionSelected
为 null,那么它也应该为 true
。否则它应该是false
。
如何针对这两种情况执行此操作?
最佳答案
您可以通过 &&
的简单组合来完成此操作和||
,并且根本不需要三元运算符。
this.state.timeSlotItemSelected === null &&
(this.state.quantityItemSelected === null || this.state.deliveryOptionSelected === null)
这将是true
如果this.state.timeSlotItemSelected
为 null,并且如果 this.state.quantityItemSelected
之一或this.state.deliveryOptionSelected
为空,且 false
否则。
真值表:
timeSlotItemSelected | quantityItemSelected | deliveryOptionSelected | Result
---------------------+----------------------+------------------------+-------
null | null | null | true
null | <not null> | null | true
null | null | <not null> | true
null | <not null> | <not null> | false
<not null> | <anything> | <anything> | false
在这种情况下,您不需要三元运算符,因为表达式本身将返回 true
或false
:<Expression> ? true : false
=<Expression>
.
关于javascript - 如何使用一个默认条件对 3 个条件执行三元语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54145979/