单击任何按钮时,它们都将变为活动状态。所以我想要的只是被点击的那个应该被改变。
var vm = new Vue({
el: '#toolBtns',
data: {
isActive: false
},
computed: {
activeClass: function () {
return {
active: this.isActive
};
}
}
});
<div class="btn-group" role="group" id="toolBtns">
<button class="btn" type="button" @click="isActive = !isActive" :class="activeClass">Btn1</button>
<button class="btn" type="button" @click="isActive = !isActive" :class="activeClass">Btn2</button>
<button class="btn" type="button" @click="isActive = !isActive" :class="activeClass">Btn3</button></div>
原文由 radeveloper 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能需要一个变量来查找当前选择的按钮。您可以使用该变量动态绑定正确的类: with :
:class="{active: activeBtn === 'btn1' }"
。这种方法的好处是您只有一个变量而不是数组来保存当前选择的按钮,因此您不必在每次选择按钮时都对数组进行迭代。
请参阅 此处 的工作小提琴。