当前位置:首页 > 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 的表单验证功能,确保必填项已选择。

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>

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

相关文章

jquery 多选

jquery 多选

jQuery 多选实现方法 使用 prop() 方法实现多选 通过 prop() 方法可以批量设置多个复选框的选中状态。以下是一个示例代码: $('input[type="checkbox"]').…

vue实现多选 全选

vue实现多选 全选

实现多选和全选功能 在Vue中实现多选和全选功能可以通过以下方式完成。假设有一个列表数据,需要实现勾选部分项或一键全选。 数据准备 定义一个数据列表和选中项的数组,以及全选状态。 data…

vue 单选组合 实现

vue 单选组合 实现

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

vue实现多选功能

vue实现多选功能

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

vue实现单选全选

vue实现单选全选

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

vue实现限制个数多选

vue实现限制个数多选

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