vue循环多个单选框
时间: 2023-08-24 12:11:33 浏览: 139
回答: 在Vue循环生成的多个单选框中,可以通过添加一个label元素来调整单选框的样式。首先,需要将input元素的display属性设置为none,以隐藏它。然后,通过调整label元素的样式来实现自定义的单选框样式。可以设置label元素的宽度、高度、显示方式、位置等属性来调整样式。可以使用label:active伪类来设置选中时的背景色。此外,可以使用label:after伪元素来添加一个圆形的选中状态图标。当input元素被选中时,可以使用input:checked + label:after选择器来改变选中状态图标的背景颜色。在Vue的循环中,可以使用v-for指令来遍历一个数组,并生成多个单选框。每个单选框需要设置一个唯一的id属性,并将其与label元素的for属性绑定,以实现关联。同时,可以使用v-model指令来绑定选中的值。例如,在循环中生成的单选框代码如下所示:
```html
<div class="div" v-for="(item, index) in sizes" :key="index">
<div class="left">
<input :id="index" type="radio" name="size" v-model="size" :value="item.goodsName" class="radio_type" @click="check(index)" />
<label :for="index"></label>
<i>{{ item.goodsName }}</i>
</div>
</div>
```
在上述代码中,v-for指令用于循环生成多个单选框,每个单选框都有一个唯一的id属性,与label元素的for属性绑定。input元素使用v-model指令来绑定选中的值,点击单选框时会触发check方法。在check方法中,可以根据需要对选中状态进行处理。例如,可以将选中的索引值赋给一个变量current,以实现选中状态的切换。
```javascript
check(index) {
if (index !== this.current) {
this.current = index;
} else {
this.current = -1;
}
}
```
以上是一个示例,根据具体需求可以进行相应的修改和扩展。
#### 引用[.reference_title]
- *1* [关于在vue中循环生成的单选框调样式问题](https://blog.csdn.net/old_Bai/article/details/118669927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [(vue) 循环实现单选](https://blog.csdn.net/weixin_42069147/article/details/102495850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文