Answer the question
In order to leave comments, you need to log in
How to make 2 toggle buttons Yes and No checkbox with v-model in Vue?
Good afternoon,
The mediocre option with is not suitable, because each of the 2 buttons is exactly a switch from Yes to No and back .
These checkboxes go in a v-for loop . I give an option where I tried to use pure JS for clicking buttons:<label: for="id-of_checkbox">
<div class="form-group" v-for="attribute in attributes">
<input :id="getInputId(attribute)"
type="checkbox"
v-model="definedAttributes[makeKey(attribute)]"/>
<button class="btn btn-primary" @click="checkBoxYes(attribute)">Да</button>
<button class="btn btn-primary" @click="checkBoxNo(attribute)">Нет</button>
</div>
export default {
...
data() {
return {
attributes: [], // наполняется посредством rest API
definedAttributes: {}, // формируется за счет прокликивания чекбоксов
}
},
methods: {
checkBoxYes(attribute) {
// некое условие
let selector = this.getInputId(attribute);
// выводится правильный id чекбокса как в разметке (как формируется - неважно)
console.log('selector', selector);
// гаолчка ставится только визуально, объяект definedAttributes не переопределяется, реактивности нет
document.getElementById(selector).checked = true;
},
checkBoxNo(attribute) {
// аналогично
},
}
}
this.definedAttributes = Object.assign(this.definedAttributes, {[computedKey]: true});
// В консоли изменения видны, но реактивности нет
console.log('this.definedAttributes', this.definedAttributes)
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question