<div> <label for=""><input type="radio" name="place" checked v-model="eventsRadio" value="0"></label> <label for=""><input type="radio" name="place" checked v-model="eventsRadio" value="1"></label> </div> <div class="modal-footer"> <button type="button" class="btn btn-sm btn-secondary" data-bs-dismiss="modal" @click="cancelPlace"> 取消 </button> </div>以上代码单选框默认为空非必填,当点击取消按钮时恢复默认状态,不选择则为空, 选择了值取消则恢复原来选择值的状态,请使用vue给出示例代码
时间: 2023-07-19 09:35:41 浏览: 96
原生javascript自定义input[type=radio]效果示例
以下是示例代码:
```html
<template>
<div>
<div>
<label>
<input type="radio" name="place" v-model="eventsRadio" value="0">
Option 1
</label>
<label>
<input type="radio" name="place" v-model="eventsRadio" value="1">
Option 2
</label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-sm btn-secondary" @click="cancelPlace"> 取消 </button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
eventsRadio: '',
originalValue: '',
}
},
methods: {
cancelPlace() {
this.eventsRadio = this.originalValue;
}
},
watch: {
eventsRadio(newVal) {
if (!newVal) {
this.originalValue = '';
} else {
this.originalValue = newVal;
}
}
}
}
</script>
```
在这个示例中,我们使用了一个 `eventsRadio` 变量来绑定单选框的选择值。我们还用 `originalValue` 变量来记录原来的选择值。
当点击取消按钮时,我们调用了 `cancelPlace` 方法来将 `eventsRadio` 的值恢复为原来的值,也就是 `originalValue`。
在 `eventsRadio` 的 `watch` 中,我们检查了新的选择值。如果它是空的,我们将 `originalValue` 设置为空。否则,我们将 `originalValue` 设置为新的选择值。这样,当我们点击取消按钮时,我们可以恢复原来的选择值。
阅读全文