程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入手

  • 基础组件

  • 表单组件

    • 单选框(Radio)
    • 多选框(Checkbox)
      • 1. 多选框基本用法
        • Checkbox 属性
        • Checkbox 事件
      • 2. 常见多选框示例
        • 基础多选框
        • 带边框的多选框
        • 不确定状态的多选框
      • 3. 多选框组
        • Checkbox-group 属性
        • Checkbox-group 事件
      • 4. 多选框组示例
        • 基础多选框组
        • 限制选择数量的多选框组
        • 按钮形式的多选框组
      • 5. 多选按钮
        • Checkbox-button 属性
      • 6. 多选按钮示例
        • 基础按钮多选框
        • 禁用状态的按钮多选框
    • 输入框(Input)
    • 计数器(InputNumber)
    • 选择器(Select)
    • 级联选择器(Cascader)
    • 开关(Switch)
    • 滑块(Slider)
    • 时间选择器(TimePicker)
    • 日期选择器(DatePicker)
    • 日期时间选择器(DateTimePicker)
    • 上传(Upload)
    • 评分(Rate)
    • 颜色选择器(ColorPicker)
    • 穿梭框(Transfer)
    • 表单(Form)
    • 表单(Form)校验
  • 数据展示组件

  • 反馈组件

  • 导航组件

  • 其他组件

  • Element-UI
  • 表单组件
scholar
2024-08-12
目录

多选框(Checkbox)

# 多选框(Checkbox)

Element-UI 的多选框组件用于在一组选项中进行多选。通过简单的属性和事件配置,可以实现多种功能和样式。

在 Vue 组件中使用 <el-checkbox> 标签即可创建一个多选框。要使用 Checkbox 组件,只需要设置 v-model 绑定变量。多选框可以单独使用,也可以通过 Checkbox Group 组合使用。

提示

多选框(Checkbox)官方文档:https://element.eleme.cn/#/zh-CN/component/checkbox (opens new window)

# 1. 多选框基本用法

基本语法:单独使用可以表示两种状态之间的切换。

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

<script>
export default {
  data() {
    return {
      checked: false // 多选框的初始状态
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 切换机制:通过 v-model 绑定的布尔值变量 checked 控制多选框的选中状态。用户勾选或取消勾选时,checked 的值会自动更新。
  • image-20240807172118521

# Checkbox 属性

参数 说明 类型 可选值 默认值
value / v-model 绑定值 string / number / boolean — —
label 选中状态的值(只有在 checkbox-group 或者绑定对象类型为 array 时有效) string / number / boolean — —
true-label 选中时的值 string / number — —
false-label 没有选中时的值 string / number — —
disabled 是否禁用 boolean — false
border 是否显示边框 boolean — false
size Checkbox 的尺寸,仅在 border 为真时有效 string medium / small / mini —
name 原生 name 属性 string — —
checked 当前是否勾选 boolean — false
indeterminate 设置 indeterminate 状态,只负责样式控制 boolean — false

# Checkbox 事件

事件名称 说明 回调参数
change 当绑定值变化时触发的事件 更新后的值

# 2. 常见多选框示例

# 基础多选框

使用 v-model 绑定一个布尔值,通过切换该值来控制多选框的选中状态。

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

<script>
export default {
  data() {
    return {
      checked: false // 多选框的初始状态
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

image-20240807172141318

# 带边框的多选框

通过 border 属性使多选框带有边框,增加视觉效果。

<template>
  <el-checkbox v-model="checked" border>备选项</el-checkbox>
</template>
1
2
3

image-20240807172206284

# 不确定状态的多选框

使用 indeterminate 属性设置多选框为不确定状态,仅负责样式控制。

<template>
  <el-checkbox v-model="checked" indeterminate>不确定选项</el-checkbox>
</template>
1
2
3

image-20240807172230627

# 3. 多选框组

Checkbox Group 用于将一组 Checkbox 组件组合在一起,便于管理和使用。通过 v-model 绑定一个数组,控制选中的选项。

# Checkbox-group 属性

参数 说明 类型 可选值 默认值
value / v-model 绑定值 array — —
size 多选框组尺寸,仅对按钮形式的 Checkbox 或带有边框的 Checkbox 有效 string medium / small / mini —
disabled 是否禁用 boolean — false
min 可被勾选的 checkbox 的最小数量 number — —
max 可被勾选的 checkbox 的最大数量 number — —
text-color 按钮形式的 Checkbox 激活时的文本颜色 string — #ffffff
fill 按钮形式的 Checkbox 激活时的填充色和边框色 string — #409EFF

# Checkbox-group 事件

事件名称 说明 回调参数
change 当绑定值变化时触发的事件 更新后的值

# 4. 多选框组示例

# 基础多选框组

使用 v-model 将一组多选框绑定到一个数组,实现切换。

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

<script>
export default {
  data() {
    return {
      checkList: ['Option A'] // 初始选中的选项
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  • 切换机制:通过 v-model 绑定的数组 checkList 控制选中的选项。数组包含所有已选中项的 label 值。
  • image-20240807172314757

# 限制选择数量的多选框组

通过 min 和 max 属性限制多选框组中可选项的数量。

<template>
  <el-checkbox-group v-model="checkList" :min="1" :max="2">
    <el-checkbox label="Option A">备选项 A</el-checkbox>
    <el-checkbox label="Option B">备选项 B</el-checkbox>
    <el-checkbox label="Option C">备选项 C</el-checkbox>
  </el-checkbox-group>
</template>

<script>
export default {
  data() {
    return {
      checkList: [] // 初始选中的选项
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

image-20240807172357090

# 按钮形式的多选框组

使用 el-checkbox-button 实现按钮形式的多选框组,适合用于工具栏等场景。

<template>
  <el-checkbox-group v-model="checkList" size="medium" text-color="#ff0000" fill="#ffcccc">
    <el-checkbox-button label="Option A">备选项 A</el-checkbox-button>
    <el-checkbox-button label="Option B">备选项 B</el-checkbox-button>
    <el-checkbox-button label="Option C">备选项 C</el-checkbox-button>
  </el-checkbox-group>
</template>
1
2
3
4
5
6
7

image-20240807172440401

# 5. 多选按钮

Checkbox Button 提供了一种按钮风格的多选框形式,通常用于更具交互性的场景。

# Checkbox-button 属性

参数 说明 类型 可选值 默认值
label 选中状态的值(只有在 checkbox-group 或者绑定对象类型为 array 时有效) string / number / boolean — —
true-label 选中时的值 string / number — —
false-label 没有选中时的值 string / number — —
disabled 是否禁用 boolean — false
name 原生 name 属性 string — —
checked 当前是否勾选 boolean — false

# 6. 多选按钮示例

# 基础按钮多选框

使用 el-checkbox-button 代替普通的 el-checkbox,实现按钮形式的多选框。

<template>
  <el-checkbox-group v-model="checkList">
    <el-checkbox-button label="Option A">备选项 A</el-checkbox-button>
    <el-checkbox-button label="Option B">备选项 B</el-checkbox-button>
    <el-checkbox-button label="Option C">备选项 C</el-checkbox-button>
  </el-checkbox-group>
</template>

<script>
export default {
  data() {
    return {
      checkList: ['Option A'] // 初始选中的按钮
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

image-20240807172516421

# 禁用状态的按钮多选框

通过 disabled 属性禁用整个按钮组或其中的某个按钮。

<template>
  <el-checkbox-group v-model="checkList" disabled>
    <el-checkbox-button label="Option A">备选项 A</el-checkbox-button>
    <el-checkbox-button label="Option B">备选项 B</el-checkbox-button>
    <el-checkbox-button label="Option C">备选项 C</el-checkbox-button>
  </el-checkbox-group>
</template>
1
2
3
4
5
6
7

image-20240807172543968

总结

  • 多样化的多选框类型:Element-UI 提供了普通、带边框、按钮形式的多选框,适应不同的应用场景。
  • 灵活的属性和事件:通过 v-model 绑定值,支持多选框和多选框组的状态管理,同时支持多种样式配置。
  • 良好的交互体验:支持禁用、尺寸调整、最小/最大选择数量和自定义颜色,增强用户的交互体验。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
单选框(Radio)
输入框(Input)

← 单选框(Radio) 输入框(Input)→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式