当前位置:首页 > 前端教程

elementui checkbox

2026-03-06 07:00:10前端教程

使用 ElementUI Checkbox 基础用法

在 ElementUI 中,el-checkbox 是常用的多选框组件,适用于表单中的多选场景。
通过 v-model 绑定布尔值,可以控制复选框的选中状态。

<template>
  <el-checkbox v-model="checked">选项</el-checkbox>
</template>

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

复选框组(Checkbox Group)

需要多个复选框联动时,使用 el-checkbox-group 包裹 el-checkbox,通过数组绑定选中的值。

<template>
  <el-checkbox-group v-model="checkedList">
    <el-checkbox label="选项A"></el-checkbox>
    <el-checkbox label="选项B"></el-checkbox>
    <el-checkbox label="选项C"></el-checkbox>
  </el-checkbox-group>
</template>

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

禁用状态

通过 disabled 属性禁用单个复选框或整个复选框组。

elementui checkbox

<el-checkbox v-model="checked" disabled>禁用选项</el-checkbox>
<el-checkbox-group v-model="checkedList" disabled>
  <el-checkbox label="选项A"></el-checkbox>
</el-checkbox-group>

中间状态与全选功能

通过 indeterminate 属性实现中间状态(部分选中),常用于全选场景。

<template>
  <el-checkbox 
    v-model="checkAll" 
    :indeterminate="isIndeterminate"
    @change="handleCheckAllChange"
  >全选</el-checkbox>
  <el-checkbox-group v-model="checkedItems" @change="handleCheckedChange">
    <el-checkbox v-for="item in options" :label="item" :key="item"></el-checkbox>
  </el-checkbox-group>
</template>

<script>
export default {
  data() {
    return {
      checkAll: false,
      isIndeterminate: true,
      checkedItems: ['选项A'],
      options: ['选项A', '选项B', '选项C']
    }
  },
  methods: {
    handleCheckAllChange(val) {
      this.checkedItems = val ? this.options : [];
      this.isIndeterminate = false;
    },
    handleCheckedChange(value) {
      const checkedCount = value.length;
      this.checkAll = checkedCount === this.options.length;
      this.isIndeterminate = checkedCount > 0 && checkedCount < this.options.length;
    }
  }
}
</script>

自定义样式与事件

支持通过 border 属性添加边框样式,或监听 change 事件处理选中变化。

elementui checkbox

<el-checkbox v-model="checked" border @change="handleChange">带边框的选项</el-checkbox>

与表单验证结合

el-form 中配合 rules 实现多选框组的验证。

<template>
  <el-form :model="form" :rules="rules">
    <el-form-item label="选择项" prop="items">
      <el-checkbox-group v-model="form.items">
        <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: { items: [] },
      rules: {
        items: [{ type: 'array', required: true, message: '请至少选择一项', trigger: 'change' }]
      }
    }
  }
}
</script>

动态渲染选项

结合 v-for 动态生成复选框选项。

<el-checkbox-group v-model="selectedItems">
  <el-checkbox v-for="item in dynamicOptions" :label="item.value" :key="item.id">
    {{ item.label }}
  </el-checkbox>
</el-checkbox-group>

分享给朋友:

相关文章

vue elementui

vue elementui

Vue 中使用 Element UI Element UI 是一套基于 Vue 2.0 的桌面端组件库,提供丰富的 UI 组件和交互功能。以下是如何在 Vue 项目中集成和使用 Element UI…

vite elementui

vite elementui

使用 Vite 集成 Element Plus Element Plus 是 Element UI 的 Vue 3 版本,与 Vite 兼容性良好。以下是集成步骤: 安装依赖: npm insta…

elementui选中

elementui选中

选中状态的基本用法 在Element UI中,选中状态通常通过v-model绑定数据实现。例如表格的多选功能,使用el-table组件配合type="selection"的列定义,结合v-model绑…

elementui渐变

elementui渐变

实现ElementUI渐变效果的方法 ElementUI组件库本身不直接提供渐变样式,但可以通过CSS自定义实现渐变效果。以下是几种常见实现方式: 背景渐变 通过CSS的linear-gradien…

移植elementui

移植elementui

移植 Element UI 的方法 Element UI 是一个基于 Vue.js 的组件库,移植通常涉及从旧项目迁移到新项目或升级版本。以下是常见的移植方法: 安装 Element UI 在目标项…

elementui admin

elementui admin

ElementUI Admin 简介 ElementUI Admin 是基于 Vue.js 和 ElementUI 的后台管理系统模板,提供丰富的组件和布局方案,适合快速开发企业级中后台应用。其特点包…