Александр 🌲🙏🏽
Ну хотя семантически это же уже кнопка.
Александр 🌲🙏🏽
(Я про vuetify).
Nikita
почему ты не можешь засунуть иконку в кнопку?
Nikita
вам религия не позволяет?
🐏 Alexander
ты можешь сделать так @click.native=""
Александр 🌲🙏🏽
Могу, там даже атрибут icon у btn есть.
Александр 🌲🙏🏽
ты можешь сделать так @click.native=""
Я так на айкон сделал — не сработало.
🐏 Alexander
ну хз, мне казалось это должно работать
Александр 🌲🙏🏽
Я тоже так думал, но нет. =)
Demetrio
кто-нибудь знает как отключать эту подсветку "уже набранного" в вьютифае? v-select с autocomplete
Demetrio
мешается, потому что поиск неточный, а результаты точные. поэтому происходит вот такое:
Demetrio
Demetrio
Если я всё правильно понял - VSelect/mixins/select_autocomplete.js -> methods.genFiltered / methods.getMaskedCharacters
Demetrio
как мне подменить этот метод снаружи?
Demetrio
Закостылил через mounted() { this.$children[0].getMaskedCharacters = (text) => { return { start: text, middle: '', end: '' }} },
Demetrio
если кто-нибудь знает вариант элегантнее (я не мастер ни vue, ни js) - буду рад советам)
Evgeniy
можно ли из хука beforeEnter (который указывается в роутах) получить доступ к экземпляру?
Alex
можно ли из хука beforeEnter (который указывается в роутах) получить доступ к экземпляру?
Экземпляру чего, если мы только в хуке проверяем можно ли разрешить переход
Andy
привет всем, подскажите как добавить класс error, если в array errors есть, к примеру, intro. <div class="formGroup" v-bind:class="{ error: errors.length > 0 }">.
Andy
Andy
Andy
пробовал [errors.intro ? 'error' : ''] и [errors['intro'] ? 'error' : '']
Nikita
не совсем понятно зачем ты пишешь полную форму bind. но вроде все верно сделанно
Nikita
вынеси генерацию класса в computed
Nikita
чтоб смотреть получаешь ты true или false
Nikita
хотя стой, у тебя this.errors в data() обьявлен же?
Andy
Nikita
все же попробуй сделать компьютед свойство и смотри на его работу, но по сути ты сделал все верно
🐏 Alexander
нихера не понял как именно хочешь добавить класс и что вообще сделать
🐏 Alexander
интро тут причем, ты же error хочешь добавить?
Nikita
он делает запрос, на запрос выпадают ошибки, он хочет эти ошибки собирать в массив и если массив не пуст, то выставлять форме класс error
Andy
внизу формы есть вывод ошибок <div class="alert alert-danger" v-if="errors.length > 0"> <ul> <li v-for="error in errors">{{ error }}</li> </ul> </div>
Nikita
интро тут причем, ты же error хочешь добавить?
зачем ты этому внимания уделяешь? Он просто показал, что в дате он обьявил массив errors
🐏 Alexander
ну так правильно же написал {error: errors.length > 0}
Andy
а я хочу подсвечивать классом error еще каждый элемент формы, чтобы отдельно, например, ловить ошибку intro
Andy
<div class="formGroup" :class="" > <label for="description">Short description</label> <div class="characterCounterWrapper"> <textarea name="intro" id="intro" cols="30" rows="3" class="formTextarea" placeholder="Short description" v-model="intro" maxlength="200" v-on:keyup="countChars"></textarea> <div class="characterCounterContainer"><span class="characterCounter">0</span> / 200</div> </div> </div>
Andy
да, вот массив
Nikita
да, вот массив
я про массив errors который в дате обьявлен
🐏 Alexander
надо не массив ошибок, а объект, где ключ, это name поля формы
🐏 Alexander
и тогда можно понять есть ли ошибка errors.hasOwnProperty('intro')
Nikita
хм, стоп. Я походу вообще тебя не понял. Какая у тебя проблема то?
Andy
мне нужно добавить сюда <div class="formGroup" :class="" > класс error, если в массиве ошибок есть erros.intro или errors.title
Andy
ведь с <li v-for="error in errors">{{ error }}</li> работает
Nikita
окей. значит я правильно тебя понял.
Nikita
я повторюсь попробуй сделать computed свойство и смотреть на его ответ
Nikita
myErrorClass() { return { error: this.errors.length > 0 } }
Nikita
его же можно и приокинуть в <div class="form" :class="myErrorClass" />
🐏 Alexander
<div class="formGroup" :class="{error: hasError('intro') || hasError('title') }"> hasError(field) { return this.errors[field] && this.errors[field].length > 0; }
🐏 Alexander
Nikita
а это?
это ответ с сервера
Nikita
мог бы уже и догадаться
🐏 Alexander
ну ёп :D
Nikita
он же выше на catch выводит ответ с сервера и заполняет массив ошибками, если они есть
🐏 Alexander
так нахера массив, как понять к чему относятся ошибки
Nikita
под формой он выводит все ошибки
Nikita
за раз через цикл
Nikita
т.е. подсвечивает форму через класс error и ниже показывает все ошибки формы.
Andy
не, подсвечиваю каждый элемент формы
Nikita
типо если есть на форме error, ты автоматом подсвечиваешь все импуты красным, так?
Nikita
блин, я реально не понимаю, проблема решилась или нет?
🐏 Alexander
короче да, объясни поведение сначала без кода
Nikita
просто мне его поведение формы напоминают формы из семантика. где ошибки не показываются до тех пор пока на всю форму не накинуть класс error
Andy
вот вся форма. сейчас у form есть класс, который выдает error на все ошибки (DimenSi). а мне нужно в каждый formGroup добавить error
Andy
хочу что-то типо такого <div class="formGroup" :class="[errors.intro ? 'error' : '']" >
Nikita
э, легче тогда преобразовать this.errors в обьект, и создать отдельное свойство hasErrors = true
Nikita
обьект заполняешь нужными ошибками с нужным ключом, а если вообще есть ошибки ставишь true у hasErrors
Nikita
тогда у всей формы будет класс error и у каждой группы будет своя ошибка
Nikita
либо же не использовать hasErros,а использовать Object.keys(), чтоб узнать количество ключей в обьекте
Nikita
только я тебе сразу предупрежу, чтоб не потерять реактивность, сначала заполни обьект, а потом его уже присваивай в this.errors
🐏 Alexander
hasErros() { return Object.values(this.errors).some(err => Boolean(err)) }
Nikita
он перед началом собирания ошибок очищает this.errors
Nikita
да и вообще какой смысл в обьекте ошибок проверять булево, если этот обьект 100% содержит ошибки