Сценарий
Поскольку у меня есть более сложный флажок, я заключил его в отдельный компонент.Внутри шаблона родительского компонента я предпочитаю использовать v-model
для привязки значения к переменной.
Мой подход основан на этом описании (https://vuejs.org/v2/guide/components-custom-events.html#Customizing-Component-v-model) взято из официальной документации.
Проблема
Когда у меня есть два custom-checkbox
-элемента, и я выбираю последний, первый внутри DOM будет выбран. Так что, похоже, первыйодин потребляет событие.
Код
Следующий фрагмент кода иллюстрирует компонент флажка.
<template>
<div class="checkbox-part">
<input class="checkbox-part-input" type="checkbox" name="cb" id="cb"
v-bind:checked="checked"
v-on:change="$emit('change', $event.target.checked)"
>
<label class="checkbox-part-label" for="cb"
:class="{ 'checkbox-part-label--checked': checked }"
>
<slot name="label"></slot>
</label>
<!-- removed for brevetiy -->
</div>
</template>
<script>
export default {
model: {
prop: 'checked',
event: 'change'
},
props: {
checked: {
type: Boolean,
}
}
}
</script>
Как мне добиться, чтобы выбранный флажок был обновлен?