Предполагая, что this.state.quantityItemSelected - это a, this.state.deliveryOptionSelected - b, а this.state.timeSlotItemSelected - c, условие должно быть:
this.state.quantityItemSelected === null &&
(this.state.deliveryOptionSelected === null ||
this.state.timeSlotItemSelected === null) ? true : false
или с a, b и c
a === null && (b === null || c === null) ? true : false
Если значения Falsey, такие как ноль, пустые строки и т. Д., Не являются допустимыми значениями для a, b и c, вы можете улучшить код, выполнив:
disable = !a && (!b || !c)
Ответ на отредактированный вопрос
В первом компоненте кнопка a & b по умолчанию будет иметь значение null, поэтому кнопка d будет отключена.когда пользователь нажимает на a & b, значение a & b назначается, поэтому после назначения a & b следует включить d.
Это сценарий, отличный от предыдущего.
disableButtonD = a === null && b === null;
или лучше
disableButtonD = !(a && b);
И для:
во втором компоненте кнопка a & c будет иметь значение по умолчанию, равное нулю икогда они оба получили значение onPressing, снова будет включена кнопка d.
disableButtonD = a === null && C === null;
или лучше
disableButtonD = !(a && C);
Следуя ограничениям, вы не можете использовать одно предложение в обоих случаях,Конечно, в зависимости от того, какую платформу вы используете, у вас может быть функция.
Угловой пример:
Компонент:
disableD(firstValue, secondValue) {
return !(firstValue && secondValue)
}
HTML
<!-- first Button -->
<button [disabled]="disableD(a, b)"></button>
<!-- second button-->
<button [disabled]="disableD(a, c)"></button>