有4个div按钮,数据从后端来,用vue3实现单选功能,
时间: 2024-03-26 21:34:57 浏览: 69
好的,可以使用Vue3的v-model指令和v-for指令来实现单选功能。具体实现步骤如下:
1. 在Vue3的组件中,使用v-for指令遍历后端传来的数据,并利用v-bind指令绑定数据到对应的div按钮上。
2. 点击某个div按钮时,使用v-model指令将选中的数据绑定到组件的data中的某个属性上。
3. 在data中定义一个属性,用于记录当前选中的数据。
4. 在div按钮上使用v-bind指令绑定class,根据当前选中的数据判断是否为选中状态,从而改变按钮的样式。
代码示例:
```html
<template>
<div>
<div v-for="(item, index) in data" :key="index" @click="selectData(item)">
<div :class="{'selected': item === selectedData}">
{{ item }}
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
data: [], // 后端传来的数据
selectedData: '', // 当前选中的数据
};
},
methods: {
selectData(item) {
this.selectedData = item;
},
},
};
</script>
<style>
.selected {
background-color: #ccc;
}
</style>
```
以上代码中,我们使用v-for指令遍历后端传来的数据,并使用v-bind指令绑定到每个div按钮上。当点击某个按钮时,调用selectData方法将选中的数据绑定到selectedData属性上。在div按钮上使用v-bind指令绑定class,根据当前选中的数据判断是否为选中状态,从而改变按钮的样式。
阅读全文