当前位置:首页 > VUE

vue实现单选多选

2026-03-09 23:39:54VUE

Vue 实现单选功能

使用 v-model 绑定单选按钮的值,确保同一组单选按钮的 name 属性相同。

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

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

Vue 实现多选功能

使用 v-model 绑定多选框的值,通常是一个数组。

vue实现单选多选

<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>
    <p>Selected options: {{ selectedOptions }}</p>
  </div>
</template>

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

使用组件库实现单选多选

Element UI 提供了 el-radioel-checkbox 组件,简化单选和多选的实现。

vue实现单选多选

<template>
  <div>
    <el-radio-group v-model="selectedOption">
      <el-radio label="option1">Option 1</el-radio>
      <el-radio label="option2">Option 2</el-radio>
    </el-radio-group>
    <p>Selected option: {{ selectedOption }}</p>

    <el-checkbox-group v-model="selectedOptions">
      <el-checkbox label="option1">Option 1</el-checkbox>
      <el-checkbox label="option2">Option 2</el-checkbox>
    </el-checkbox-group>
    <p>Selected options: {{ selectedOptions }}</p>
  </div>
</template>

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

动态生成单选或多选选项

通过 v-for 动态渲染选项列表,适用于选项数据来自后端或动态变化的场景。

<template>
  <div>
    <div v-for="option in radioOptions" :key="option.value">
      <input type="radio" v-model="selectedOption" :value="option.value">
      {{ option.label }}
    </div>
    <p>Selected option: {{ selectedOption }}</p>

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

<script>
export default {
  data() {
    return {
      radioOptions: [
        { value: 'option1', label: 'Option 1' },
        { value: 'option2', label: 'Option 2' }
      ],
      checkboxOptions: [
        { value: 'option1', label: 'Option 1' },
        { value: 'option2', label: 'Option 2' }
      ],
      selectedOption: '',
      selectedOptions: []
    }
  }
}
</script>

表单验证

结合 Vue 的表单验证库(如 VeeValidate)对单选和多选进行验证。

<template>
  <div>
    <ValidationProvider rules="required" v-slot="{ errors }">
      <div v-for="option in radioOptions" :key="option.value">
        <input type="radio" v-model="selectedOption" :value="option.value">
        {{ option.label }}
      </div>
      <span>{{ errors[0] }}</span>
    </ValidationProvider>

    <ValidationProvider rules="required" v-slot="{ errors }">
      <div v-for="option in checkboxOptions" :key="option.value">
        <input type="checkbox" v-model="selectedOptions" :value="option.value">
        {{ option.label }}
      </div>
      <span>{{ errors[0] }}</span>
    </ValidationProvider>
  </div>
</template>

<script>
import { ValidationProvider } from 'vee-validate';

export default {
  components: {
    ValidationProvider
  },
  data() {
    return {
      radioOptions: [
        { value: 'option1', label: 'Option 1' },
        { value: 'option2', label: 'Option 2' }
      ],
      checkboxOptions: [
        { value: 'option1', label: 'Option 1' },
        { value: 'option2', label: 'Option 2' }
      ],
      selectedOption: '',
      selectedOptions: []
    }
  }
}
</script>

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

相关文章

vue实现单选

vue实现单选

Vue 实现单选按钮 在 Vue 中实现单选按钮通常使用 v-model 绑定数据,结合 <input type="radio"> 或第三方组件库(如 Element UI、Ant Des…

elementui多选

elementui多选

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

jquery 多选

jquery 多选

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

vue 实现图片单选

vue 实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能,可以通过结合 v-model 和自定义事件来实现。以下是具体实现方法: 方法一:使用 v-model 和计算属性 创建一个 Vue 组件…

vue实现多选 全选

vue实现多选 全选

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

vue按钮实现多选

vue按钮实现多选

Vue 按钮实现多选的方法 在 Vue 中实现按钮多选功能,可以通过绑定 v-model 到数组或对象,结合样式控制来实现。以下是几种常见方法: 方法一:使用 v-model 绑定数组 通过将 v-…