单击时向按钮添加背景颜色保持该状态,直到在 vue js 2 中单击该按钮组中的下一个按钮
Adding background colour to a button when clicked stays in that state until the next button clicked in that button group in vue js 2
我有两个按钮组,它们是通过在 Vue Js 中使用 v-for 指令从数组创建的。当我单击第一个按钮组中的一个按钮时,我需要它处于聚焦状态,直到该按钮组中的另一个按钮单击为止,焦点状态不受任何其他单击事件的影响,除了该按钮组中的另一个按钮被单击。这些按钮是 1.All 2. True, 3. False, 4. None 在初始阶段 1.All 按钮必须聚焦,直到单击该按钮组中的下一个按钮。
通过向每个数组元素添加活动 属性 来跟踪活动按钮:
new Vue({
el: '#app',
data: () => ({
buttons: [
{
text: 'All',
active: true
},
{
text: 'True',
active: false
},
{
text: 'False',
active: false
},
{
text: 'None',
active: false
}
]
}),
methods: {
activate (b) {
this.buttons.forEach(button => {
button.active = button.text === b.text
})
}
}
})
button {
color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<button v-for="(b,i) in buttons" :key="i" type="button" :style="{ 'background-color': b.active ? 'green' : 'grey' }" @click="activate(b)">{{ b.text }}</button>
</div>
我有两个按钮组,它们是通过在 Vue Js 中使用 v-for 指令从数组创建的。当我单击第一个按钮组中的一个按钮时,我需要它处于聚焦状态,直到该按钮组中的另一个按钮单击为止,焦点状态不受任何其他单击事件的影响,除了该按钮组中的另一个按钮被单击。这些按钮是 1.All 2. True, 3. False, 4. None 在初始阶段 1.All 按钮必须聚焦,直到单击该按钮组中的下一个按钮。
通过向每个数组元素添加活动 属性 来跟踪活动按钮:
new Vue({
el: '#app',
data: () => ({
buttons: [
{
text: 'All',
active: true
},
{
text: 'True',
active: false
},
{
text: 'False',
active: false
},
{
text: 'None',
active: false
}
]
}),
methods: {
activate (b) {
this.buttons.forEach(button => {
button.active = button.text === b.text
})
}
}
})
button {
color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<button v-for="(b,i) in buttons" :key="i" type="button" :style="{ 'background-color': b.active ? 'green' : 'grey' }" @click="activate(b)">{{ b.text }}</button>
</div>