@VegasChickiChicki

Как не присваивать класс, если значение переменной null?

Суть вот в чем, у меня есть форма, и в ней поля ввода, после того как пользователь уберет фокус с поля ввода, мне нужно проверить ее и изменить значение соответствующего поля в data, например form.name = false. Верну ложь, если поля заполнено не верно, и на основе этих переменных мне нужно присвоить класс, класса 2, на ошибку и на верный ввод, но пока пользователь не трогал поля, классов быть не должно.
Сейчас вот так попытался сделать:
:class="form.FirstName ? 'input-successes' : 'input-error'"
//даже так
v-bind:class="{ 'input-successes': form.FirstName, 'input-error': !form.FirstName, '':  form.FirstName === null }"

Но что-то всегда null приравнивает к false, не знаю как это исправить, прошу помощи, спасибо!
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
:class="form.FirstName !== null ? form.FirstName ? 'input-successes' : 'input-error' : ''"

или

:class="{ 'input-successes': form.FirstName, 'input-error': form.FirstName === false }"

или

:class="form.FirstName !== null && [ 'input-error', 'input-successes' ][+form.FirstName]"

или

:class="({ true: 'input-successes', false: 'input-error' })[form.FirstName]"

Лучше бы подобное конечно в computed/метод завернуть, как-то громоздко получается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы