У тебя проблема не в vue, а в базовом html:
Оба
input у тебя получают одинаковый
id и оба
label одинаковый
for. Поведение браузера при клике на
label в таком случае не определено, но на практике это значит, что клик идёт всегда первому
input.
Соответственно надо сделать либо так:
<label class="form-check-label">
<input
type="checkbox"
role="switch"
v-model="methodId"
:value="method.id"
class="form-check-input"
/>
{{ method.name_method }}
</label>
Либо как-то так:
<input
:id="`input-${method.id}`"
type="checkbox" role="switch"
v-model="methodId"
:value="method.id"
class="form-check-input"
/>
<label :for="`input-${method.id}`" class="form-check-label">
{{ method.name_method }}
</label>