当前位置:首页 > VUE

vue复选框实现

2026-02-21 15:14:19VUE

Vue 复选框实现方法

基础实现

使用 v-model 双向绑定到布尔值,适用于单个复选框:

<template>
  <input type="checkbox" v-model="isChecked" />
  <label>{{ isChecked ? '已选中' : '未选中' }}</label>
</template>

<script>
export default {
  data() {
    return {
      isChecked: false
    }
  }
}
</script>

多选框组

绑定到数组实现多选功能:

vue复选框实现

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

<script>
export default {
  data() {
    return {
      options: [
        { value: 'vue', label: 'Vue' },
        { value: 'react', label: 'React' },
        { value: 'angular', label: 'Angular' }
      ],
      selectedOptions: []
    }
  }
}
</script>

自定义样式

通过隐藏原生输入框,用 CSS 自定义样式:

vue复选框实现

<template>
  <label class="custom-checkbox">
    <input type="checkbox" v-model="checked" />
    <span class="checkmark"></span>
    自定义样式复选框
  </label>
</template>

<style>
.custom-checkbox {
  position: relative;
  padding-left: 25px;
  cursor: pointer;
}
.custom-checkbox input {
  position: absolute;
  opacity: 0;
}
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: #eee;
}
.custom-checkbox input:checked ~ .checkmark {
  background-color: #2196F3;
}
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.custom-checkbox input:checked ~ .checkmark:after {
  display: block;
}
</style>

表单验证

配合 Vue 的表单验证库如 VeeValidate:

<template>
  <ValidationProvider rules="required" v-slot="{ errors }">
    <input type="checkbox" v-model="acceptedTerms" />
    <span>同意条款</span>
    <span class="error">{{ errors[0] }}</span>
  </ValidationProvider>
</template>

动态禁用状态

根据条件禁用复选框:

<template>
  <input 
    type="checkbox" 
    v-model="isActive" 
    :disabled="isDisabled"
  />
</template>

<script>
export default {
  data() {
    return {
      isActive: false,
      isDisabled: true
    }
  }
}
</script>

标签: 复选框vue
分享给朋友:

相关文章

vue实现点击旋转轮盘

vue实现点击旋转轮盘

实现点击旋转轮盘效果 在Vue中实现点击旋转轮盘效果,可以通过CSS动画和Vue的数据绑定结合完成。以下是一个完整的实现方案: 准备工作 需要安装Vue.js环境,可以通过CDN引入或使用Vue C…

vue tag实现

vue tag实现

Vue 标签实现方法 在 Vue 中实现标签功能可以通过多种方式完成,常见场景包括动态标签生成、标签输入框、标签管理等。以下是几种典型实现方案: 动态标签列表渲染 使用 v-for 指令渲染标签…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data: {…

vue实现同步

vue实现同步

Vue 实现同步的方法 在 Vue 中实现同步操作通常涉及数据绑定、状态管理和异步操作的处理。以下是几种常见的方法: 使用计算属性(Computed Properties) 计算属性基于响应式依赖…

vue实现博客

vue实现博客

Vue 实现博客的基本步骤 使用 Vue.js 实现一个博客系统可以分为前端和后端两部分。以下是基于 Vue 的前端实现方案,后端可以选择 Node.js、Django 或其他框架。 项目初始化…

vue实现看板

vue实现看板

Vue 实现看板功能 使用 Vue 实现看板功能可以通过组件化开发、状态管理和拖拽库结合完成。以下是一个完整的实现方案: 基础项目结构 src/ ├── components/ │ ├── Ka…