Как можно прикрутить это дело в vue, или как средствами vue подобное реализовать?
Варианты разные есть - вы бы рассказали, для чего вам такое надо.
Если совсем в лоб, то
methods: {
onMouseOver(e) {
if (e.buttons) {
e.target.checked = !e.target.checked;
}
},
},
<input
type="checkbox"
v-for="i in 3000"
@mouseover="onMouseOver"
>
для каждого генерировать модель мне кажется не вариант
Вполне себе вариант:
data: () => ({
checkboxes: Array(3000).fill(false),
}),
methods: {
onMouseOver(e, index) {
if (e.buttons) {
this.$set(this.checkboxes, index, !this.checkboxes[index]);
}
},
},
<input
type="checkbox"
v-for="(n, i) in checkboxes"
v-model="checkboxes[i]"
@mouseover="onMouseOver($event, i)"
>
Работать, правда, будет заметно медленнее, чем без
v-model
(если чекбоксов много).