当前位置:首页 > VUE

vue 实现单选和多选

2026-02-23 09:11:15VUE

Vue 实现单选

在 Vue 中实现单选功能通常使用 v-model 绑定到同一个变量,确保同一时间只有一个选项被选中。

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

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

Vue 实现多选

多选功能通过 v-model 绑定到数组类型变量,配合 checkbox 实现多选。

<template>
  <div>
    <label v-for="option in options" :key="option.value">
      <input 
        type="checkbox" 
        v-model="selectedOptions" 
        :value="option.value"
      >
      {{ option.label }}
    </label>
    <p>当前选中: {{ selectedOptions }}</p>
  </div>
</template>

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

使用组件库实现

若使用 Element UI 等组件库,可直接调用封装好的单选/多选组件:

<!-- 单选 -->
<el-radio-group v-model="selectedOption">
  <el-radio v-for="option in options" :label="option.value">
    {{ option.label }}
  </el-radio>
</el-radio-group>

<!-- 多选 -->
<el-checkbox-group v-model="selectedOptions">
  <el-checkbox v-for="option in options" :label="option.value">
    {{ option.label }}
  </el-checkbox>
</el-checkbox-group>

动态绑定选项

选项数据可从后端 API 动态获取:

vue 实现单选和多选

export default {
  data() {
    return {
      selectedOptions: [],
      options: []
    }
  },
  async created() {
    const res = await fetch('/api/options');
    this.options = await res.json();
  }
}

注意事项

  • 单选时 v-model 绑定值为非数组类型(如字符串、数字)
  • 多选时 v-model 必须绑定数组类型
  • 使用组件库时需按文档规范传递参数(如 Element UI 的 label 属性)
  • 动态渲染选项时建议为每项设置唯一的 key

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

相关文章

vue实现li多选

vue实现li多选

Vue 实现列表多选功能 在 Vue 中实现列表(<li>)的多选功能可以通过多种方式完成。以下是几种常见的实现方法: 使用 v-model 绑定数组 通过 v-model 绑定一个数组…

vue实现单选状态

vue实现单选状态

实现单选状态的方法 在Vue中实现单选状态通常可以通过以下几种方式完成,具体取决于使用场景和需求。 使用v-model绑定单选按钮 通过v-model可以轻松实现单选按钮的选择状态绑定。将同一组单选…

vue 如何实现多选

vue 如何实现多选

Vue 实现多选的几种方法 使用 v-model 绑定数组 在 Vue 中,可以通过 v-model 绑定一个数组来实现多选功能。当用户勾选多个选项时,选中的值会自动添加到数组中。 <temp…

实现多选删除vue

实现多选删除vue

实现多选删除功能(Vue) 在Vue中实现多选删除功能,通常涉及以下关键步骤: 数据绑定与选择状态管理 创建一个数组存储可选择的数据项,并为每个项添加选中状态属性。例如: data() {…

vue实现多级多选框

vue实现多级多选框

Vue 实现多级多选框的方法 多级多选框通常用于树形结构数据的交互选择,例如部门选择、权限分配等场景。以下是基于 Vue 的实现方案: 递归组件实现树形多选框 使用递归组件可以优雅地处理无限层级的多…

vue实现限制个数多选

vue实现限制个数多选

Vue 实现限制个数的多选功能 在 Vue 中实现限制个数的多选功能,可以通过计算属性、事件监听和数据绑定来实现。以下是几种常见的实现方式: 使用计算属性和事件监听 通过 v-model 绑定选中的…