我的问题是一个非常简单的问题,必须有一个简单的解决方案。
我有一张桌子,每行都有一个复选框。

<tr v-repeat="claim: claims">
    <td  v-on="click: claim.selected = !claim.selected">
        <input  v-model="claim.selected" type="checkbox">
    </td>
</tr>


问题是,当在td中单击输入时,它可以工作,但是当我直接单击输入时,由于周围td的单击,它会自动被取消选择。有没有人有办法解决吗?

最佳答案

将代码移到方法中,并在事件上调用.stopPropagation()。像这样:

<tr v-repeat="claim: claims">
    <td  v-on="click: clicked">
        <input  v-model="claim.selected" type="checkbox">
    </td>
</tr>


使用代码:

[...]
methods: {
    clicked: function (event) {
        this.claim.selected = !this.claim.selected;
        event.stopPropagation();
    }
}
[...]

10-04 16:30