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

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>

分享给朋友:

相关文章

elementui整合

elementui整合

ElementUI 整合指南 ElementUI 是一款基于 Vue.js 的桌面端组件库,广泛应用于中后台系统的快速开发。以下是整合 ElementUI 到项目中的具体方法: 安装 Element…

elementui dropdown

elementui dropdown

ElementUI Dropdown 基础用法 ElementUI 的 Dropdown 组件用于创建下拉菜单,常用于导航或操作选项的折叠展示。以下是一个基础示例: <el-dropdown&…

elementui时区

elementui时区

ElementUI 时区问题解决方案 ElementUI 本身是一个基于 Vue.js 的组件库,不直接处理时区问题。但日期时间相关组件(如 DatePicker、DateTimePicker)可能涉…

移植elementui

移植elementui

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

elementui textarea

elementui textarea

ElementUI Textarea 组件使用指南 ElementUI 提供了 el-textarea 组件用于多行文本输入,支持常见的表单功能如禁用状态、自适应高度、最大长度限制等。 基本用法 通…

elementui介绍

elementui介绍

Element UI 简介 Element UI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的 UI 组件和交互设计,适用于快速构建企业级中后台产品。 核…