我使用的是vue
时间: 2024-02-18 22:00:02 浏览: 14
好的,如果你使用 Vue,可以将 `selectedArr` 数组定义为 Vue 实例的一个 data 属性,在选项被点击时更新该属性的值。代码如下:
```vue
<template>
<div>
<div v-for="(option, index) in options" :key="index" @click="toggleSelected(index)" :class="{ 'selected': selectedArr[index] }">
{{ option }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
options: ['Option 1', 'Option 2', 'Option 3', 'Option 4'],
selectedArr: [0, 0, 0, 0],
};
},
methods: {
toggleSelected(index) {
if (this.selectedArr[index] === 1) {
// 如果已经选中,就将其从选中状态数组中删除
this.$set(this.selectedArr, index, 0);
} else {
// 如果没有选中,就将其加入到选中状态数组中
this.$set(this.selectedArr, index, 1);
}
},
},
};
</script>
```
在上述代码中,我们使用 Vue 的模板语法来循环渲染选项,并给每个选项添加一个 `click` 事件监听器。在模板中,我们通过绑定 `class` 属性来动态设置选项的样式。在 Vue 实例的 `data` 中,我们定义了 `options` 和 `selectedArr` 两个属性,分别表示选项和选中状态数组。在 `toggleSelected` 方法中,我们根据选项的索引值来判断其选中状态,然后通过 `$set` 方法来更新 `selectedArr` 数组中对应位置的值。最后,我们就可以使用 `selectedArr` 数组来匹配选项的 id 了。