当前位置:首页 > VUE

vue 实现单选

2026-02-10 04:43:13VUE

Vue 实现单选功能的方法

在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的实现方法:

vue 实现单选

使用 v-model 绑定单选按钮

通过 v-model 绑定一个变量到单选按钮组,确保同一组单选按钮的 name 属性相同:

vue 实现单选

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

    <input type="radio" id="option2" value="option2" v-model="selectedOption" name="options">
    <label for="option2">Option 2</label>

    <input type="radio" id="option3" value="option3" v-model="selectedOption" name="options">
    <label for="option3">Option 3</label>
  </div>
</template>

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

使用 Vue 组件库的单选组件

许多 Vue UI 库(如 Element UI、Vuetify)提供了封装好的单选组件,例如:

<template>
  <el-radio-group v-model="selectedOption">
    <el-radio label="option1">Option 1</el-radio>
    <el-radio label="option2">Option 2</el-radio>
    <el-radio label="option3">Option 3</el-radio>
  </el-radio-group>
</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"
        name="dynamicOptions"
      >
      <label :for="option.value">{{ option.label }}</label>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: '',
      options: [
        { value: 'opt1', label: 'Option 1' },
        { value: 'opt2', label: 'Option 2' },
        { value: 'opt3', label: 'Option 3' }
      ]
    }
  }
}
</script>

注意事项

  • 确保同一组单选按钮的 name 属性相同,否则浏览器会允许同时选择多个选项。
  • 如果需要默认选中某个选项,可以在 data 中初始化 selectedOption 为对应的值。
  • 对于复杂场景,可以结合计算属性或 watch 监听选项变化。

以上方法均能实现 Vue 中的单选功能,具体选择取决于项目需求和技术栈。

标签: 单选vue
分享给朋友:

相关文章

vue实现一个标签选择

vue实现一个标签选择

Vue 标签选择组件实现 基础实现 使用 Vue 的 v-for 和 v-model 指令可以快速实现标签选择功能: <template> <div class="tag-se…

vue实现app

vue实现app

Vue 实现 App 的常见方法 使用 Vue 开发移动端 App 主要有两种主流方案:混合开发(Hybrid)和原生渲染。以下是具体实现方式和工具链: 混合开发方案(WebView 嵌入) 通过…

vue页面实现

vue页面实现

Vue 页面实现方法 创建 Vue 组件 使用 Vue 单文件组件(SFC)方式创建页面,文件扩展名为 .vue。一个基本的 Vue 组件包含三个部分:模板(template)、脚本(script)和…

vue实现active

vue实现active

Vue 实现 active 状态的方法 在 Vue 中实现 active 状态可以通过以下几种方式实现,具体取决于使用场景和需求。 使用 v-bind:class 动态绑定类名 通过 v-bind:…

vue实现抖动

vue实现抖动

Vue 实现抖动效果 在 Vue 中实现抖动效果可以通过 CSS 动画或 JavaScript 动画库来实现。以下是几种常见的方法: 使用 CSS 动画 通过定义 @keyframes 动画并在 V…

vue翻页实现

vue翻页实现

Vue翻页实现方法 基础分页组件实现 使用v-for和计算属性实现基础分页逻辑: <template> <div> <ul> <li…