当前位置:首页 > VUE

vue单选按钮实现

2026-02-25 16:12:06VUE

实现 Vue 单选按钮的基本方法

使用 Vue 的单选按钮可以通过 v-model 绑定数据,结合 input 元素的 type="radio" 实现。以下是一个基础示例:

<template>
  <div>
    <input type="radio" id="option1" value="option1" v-model="selectedOption" />
    <label for="option1">选项1</label>

    <input type="radio" id="option2" value="option2" v-model="selectedOption" />
    <label for="option2">选项2</label>

    <p>当前选择: {{ selectedOption }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: ''
    };
  }
};
</script>

动态生成单选按钮

通过 v-for 动态渲染单选按钮选项,适用于选项来自后端或动态数据的情况:

<template>
  <div>
    <div v-for="option in options" :key="option.value">
      <input 
        type="radio" 
        :id="option.value" 
        :value="option.value" 
        v-model="selectedOption" 
      />
      <label :for="option.value">{{ option.label }}</label>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: '',
      options: [
        { value: 'opt1', label: '选项A' },
        { value: 'opt2', label: '选项B' }
      ]
    };
  }
};
</script>

使用组件库实现单选按钮

主流 UI 库如 Element UI 或 Vuetify 提供了封装好的单选组件:

Element UI 示例:

<template>
  <el-radio-group v-model="selectedOption">
    <el-radio label="option1">选项1</el-radio>
    <el-radio label="option2">选项2</el-radio>
  </el-radio-group>
</template>

Vuetify 示例:

<template>
  <v-radio-group v-model="selectedOption">
    <v-radio label="选项1" value="option1"></v-radio>
    <v-radio label="选项2" value="option2"></v-radio>
  </v-radio-group>
</template>

处理单选按钮事件

监听 change 事件实现业务逻辑:

<template>
  <input 
    type="radio" 
    value="notify" 
    v-model="notificationPref" 
    @change="handleNotificationChange"
  />
</template>

<script>
export default {
  methods: {
    handleNotificationChange() {
      console.log('用户选择变更:', this.notificationPref);
    }
  }
};
</script>

样式自定义技巧

通过 CSS 隐藏原生单选按钮,自定义样式:

<template>
  <label class="custom-radio">
    <input type="radio" v-model="selected" value="yes" />
    <span class="checkmark"></span>
    同意条款
  </label>
</template>

<style>
.custom-radio input {
  position: absolute;
  opacity: 0;
}
.checkmark {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #eee;
  border-radius: 50%;
}
.custom-radio input:checked ~ .checkmark {
  background-color: #2196F3;
}
</style>

vue单选按钮实现

标签: 单选按钮
分享给朋友:

相关文章

vue实现按钮弹窗

vue实现按钮弹窗

实现按钮弹窗的基本方法 在Vue中实现按钮点击触发弹窗功能,可以通过多种方式完成。以下是几种常见实现方法: 使用原生HTML和Vue指令 通过v-if或v-show控制弹窗显示状态,结合点击事件切换…

vue   实现单选

vue 实现单选

实现单选的基本方法 在Vue中实现单选功能可以通过v-model绑定数据和v-for循环渲染选项。以下是一个基本示例: <template> <div> <…

vue 实现单选

vue 实现单选

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用v-model绑定单选按钮 通过v-model可以轻松实现单选功能。将v-model绑定到一个变量,单选…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,常见的有使用原生 HTML 的 <input type="radio"> 结合 Vue 的数据绑定,或使用第三方 U…

vue实现图片单选

vue实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能可以通过多种方式完成,以下是两种常见的实现方法: 方法一:使用 v-model 和单选按钮 通过将单选按钮与图片绑定,利用 v-model…

vue怎么实现单选

vue怎么实现单选

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式,以下是几种常见的实现方法: 使用原生HTML单选按钮 通过v-model绑定数据,结合原生<input type="radi…