当前位置:首页 > 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

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

相关文章

elementui多选

elementui多选

ElementUI 多选组件使用指南 ElementUI 提供了 el-select 组件支持多选功能,通过设置 multiple 属性即可启用。以下是具体实现方法和常见场景示例: 基础多选实现 设…

vue 实现单选全选

vue 实现单选全选

实现单选和全选功能 在Vue中实现单选和全选功能,可以通过v-model指令绑定数据,结合计算属性和方法来实现交互逻辑。以下是一个完整的实现方案。 基础数据结构 定义列表数据,每个数据项包含选中状态…

vue实现多选删除

vue实现多选删除

实现多选删除功能 在Vue中实现多选删除功能通常涉及以下几个关键步骤:数据绑定、选择状态管理、删除逻辑处理。以下是具体实现方法: 数据准备与渲染 创建包含选择状态的数据结构,通常是一个对象数组,每个…

vue实现点选多选

vue实现点选多选

Vue 实现点选多选功能 基础实现(基于数组存储选中项) 使用 v-model 绑定到数组实现多选,适用于复选框组场景: <template> <div> <…

vue 实现按钮多选

vue 实现按钮多选

实现按钮多选功能 在Vue中实现按钮多选功能可以通过以下方法完成,主要依赖v-model绑定数组和v-for动态渲染按钮。 数据绑定与渲染 定义一个数组selectedItems用于存储选中的按钮值…

vue实现单选全选

vue实现单选全选

实现单选与全选功能 在Vue中实现单选和全选功能,可以通过数据绑定和计算属性来完成。以下是一个完整的实现方案: 数据准备 data() { return { items: […