当前位置:首页 > VUE

vue实现多选和单选

2026-02-23 08:32:00VUE

Vue 实现单选功能

使用 v-model 绑定单选按钮组,确保同一组单选按钮的 name 属性相同。通过绑定同一个变量实现互斥选择。

<template>
  <div>
    <label>
      <input type="radio" v-model="selectedOption" value="option1">
      Option 1
    </label>
    <label>
      <input type="radio" v-model="selectedOption" value="option2">
      Option 2
    </label>
    <label>
      <input type="radio" v-model="selectedOption" value="option3">
      Option 3
    </label>
    <p>Selected: {{ selectedOption }}</p>
  </div>
</template>

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

Vue 实现多选功能

使用 v-model 绑定到数组实现多选功能,通过 value 属性确定选中项的值。

<template>
  <div>
    <label>
      <input type="checkbox" v-model="selectedOptions" value="option1">
      Option 1
    </label>
    <label>
      <input type="checkbox" v-model="selectedOptions" value="option2">
      Option 2
    </label>
    <label>
      <input type="checkbox" v-model="selectedOptions" value="option3">
      Option 3
    </label>
    <p>Selected: {{ selectedOptions }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOptions: []
    }
  }
}
</script>

使用组件库实现选择功能

Element UI 提供了单选和多选组件,简化开发流程。

单选示例:

<template>
  <el-radio-group v-model="radio">
    <el-radio :label="1">Option 1</el-radio>
    <el-radio :label="2">Option 2</el-radio>
    <el-radio :label="3">Option 3</el-radio>
  </el-radio-group>
</template>

<script>
export default {
  data() {
    return {
      radio: 1
    }
  }
}
</script>

多选示例:

<template>
  <el-checkbox-group v-model="checkList">
    <el-checkbox label="Option 1"></el-checkbox>
    <el-checkbox label="Option 2"></el-checkbox>
    <el-checkbox label="Option 3"></el-checkbox>
  </el-checkbox-group>
</template>

<script>
export default {
  data() {
    return {
      checkList: []
    }
  }
}
</script>

动态渲染选项

从接口获取数据动态渲染单选或多选选项。

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

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

表单验证

结合 Vue 的表单验证功能,确保必填项已选择。

<template>
  <el-form :model="form" :rules="rules" ref="form">
    <el-form-item label="单选" prop="radio">
      <el-radio-group v-model="form.radio">
        <el-radio :label="1">Option 1</el-radio>
        <el-radio :label="2">Option 2</el-radio>
      </el-radio-group>
    </el-form-item>

    <el-form-item label="多选" prop="checks">
      <el-checkbox-group v-model="form.checks">
        <el-checkbox label="A"></el-checkbox>
        <el-checkbox label="B"></el-checkbox>
      </el-checkbox-group>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        radio: '',
        checks: []
      },
      rules: {
        radio: [
          { required: true, message: '请选择', trigger: 'change' }
        ],
        checks: [
          { type: 'array', required: true, message: '至少选择一项', trigger: 'change' }
        ]
      }
    }
  }
}
</script>

vue实现多选和单选

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

相关文章

vue实现多选

vue实现多选

Vue 实现多选功能 在 Vue 中实现多选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定数组 通过 v-model 绑定到一个数组,可以实现多选功能。适用于复选框组…

vue 实现多选框

vue 实现多选框

Vue 实现多选框的方法 使用 v-model 绑定数组 在 Vue 中,可以通过 v-model 绑定一个数组来实现多选框的选择功能。每个复选框的 value 属性会被添加到数组中,取消勾选时则从数…

vue实现考试多选功能

vue实现考试多选功能

Vue实现考试多选功能 数据绑定与选项渲染 使用v-model绑定用户选择的答案数组,结合v-for循环渲染选项列表。示例代码: <template> <div>…

vue 实现表格单选

vue 实现表格单选

实现表格单选的基本思路 在Vue中实现表格单选功能,通常需要结合表格组件(如el-table)和数据绑定。核心逻辑是通过点击事件更新当前选中行的唯一标识(如id),并通过:class或:style绑定…

vue 实现多选框

vue 实现多选框

实现多选框的基础用法 在Vue中可以使用v-model指令绑定到数组类型的数据,实现多选框功能。基础示例代码如下: <template> <div> <i…

vue实现单选弹窗

vue实现单选弹窗

Vue 实现单选弹窗的方法 使用 Element UI 的 Dialog 和 Radio 组件 安装 Element UI 后,可以通过 Dialog 和 Radio 组件快速实现单选弹窗功能。…