van-radio 实现再次点击已选中的取消选中
时间: 2024-03-27 15:38:34 浏览: 243
要实现再次点击已选中的 van-radio 取消选中,可以在 van-radio 组件上绑定一个点击事件,并在事件中判断当前的选中状态。如果当前处于选中状态,则通过 `this.$refs.radioGroup.toggleOption(option)` 方法将其取消选中,否则保持不变。具体代码如下:
```html
<template>
<van-radio-group ref="radioGroup" v-model="selected">
<van-radio :label="1" @click="handleClick(1)">选项1</van-radio>
<van-radio :label="2" @click="handleClick(2)">选项2</van-radio>
<van-radio :label="3" @click="handleClick(3)">选项3</van-radio>
</van-radio-group>
</template>
<script>
export default {
data() {
return {
selected: null
};
},
methods: {
handleClick(option) {
if (this.selected === option) {
this.$refs.radioGroup.toggleOption(option);
this.selected = null;
}
}
}
};
</script>
```
在上面的代码中,我们通过 `v-model` 指令将选中的值绑定到 `selected` 变量上,然后在点击事件中判断当前选中的状态。如果当前处于选中状态,则通过 `$refs.radioGroup.toggleOption(option)` 方法将其取消选中,并将 `selected` 变量设置为 `null`。这样就可以实现再次点击已选中的 van-radio 取消选中的效果了。
阅读全文