#javascript #algorithm #if-statement #button #conditional-statements
#javascript #алгоритм #if-оператор #кнопка #условные операторы
Вопрос:
Я пытаюсь реализовать множественное короткое условие if else в Javascript. Я хочу изменить цвет кнопки ticket в зависимости от ее статуса:
customer.status === "Solved" ? "success" : "warning"
Но у меня есть 3 статуса для 1 билета. Я хочу проверить статус запроса, когда он «Закрыт», и изменить кнопку запроса на «опасность»
customer.status === "Solved" amp;amp; !== "Closed" ? "success" : "warning"
что-то вроде этого, но это не работает. Есть ли какой-нибудь способ, как это сделать?
Комментарии:
1. Не сокращайте свой код разработки, пусть это сделает минификатор при передаче кода в производство.
Ответ №1:
Вы могли бы взять объект для различных состояний и использовать свойство по умолчанию для наличия состояния для несоответствующих состояний.
const
states = { Solved: 'success', Closed: 'danger', default: 'warning' },
state = states[customer.status] || states.default;
Комментарии:
1. Спасибо, это тоже была идея, но я хотел добавить больше условий, поэтому я выбрал вспомогательную функцию лучше
Ответ №2:
Я бы просто преобразовал это во вспомогательную функцию.
function getClassNameForCustomerStatus(customer) {
if(customer.status === "Solved") {
return "success";
}
if(customer.status !== "Closed") {
return "success";
}
return "warning";
}
Комментарии:
1. Я использовал этот метод, потому что хотел добавить больше условий, чтобы он работал сейчас, спасибо