Yt-UI
首页
快速开始
组件文档
首页
快速开始
组件文档
  • 表单组件

    • 输入框 Input
    • 多行输入框 Textarea
    • 开关 Switch
    • 多选框组 CheckboxGroup
    • 单选框组 RadioGroup
    • 滑块 Slider
    • 选择器 Picker
    • 日历 Calendar
    • 表单 Form
  • 展示组件

    • 头像 Avatar
    • 徽标 Badge
    • 卡片 Card
    • 标签 Tag
    • 步骤条 Steps
    • 结果页 Result
    • 空状态 Empty
    • 虚拟列表 VirtualList
  • 交互组件

    • 按钮 Button
    • 悬浮按钮 FAB
    • 图标 Icon
    • 搜索 Search
    • 分段器 Segment
    • 轮播 Swiper
    • 指示点 Dots
  • 反馈组件

    • 加载 Loading
    • 弹窗 Popup
    • 遮罩层 Overlay
    • 通告栏 NoticeBar
  • 导航组件

    • 标签栏 Tabbar
    • 顶部标签栏 TopTabbar
    • 折叠面板 Collapse
    • 课程表 Schedule
  • 布局组件

    • 分割线 Divider
    • 链接 Line
    • 可移动视图 MovableView

yt-checkbox-group 多选框组组件

属性

属性名类型默认值说明
namestring''表单字段名
listCheckboxItem[][]多选框选项列表

CheckboxItem 类型

interface CheckboxItem {
  label?: string | number // 显示文本
  value?: string | number // 选项值
  checked?: boolean // 是否选中
  disabled?: boolean // 是否禁用
}

事件

事件名参数说明
changevalue: any[]选中值发生变化

表单集成

组件支持表单字段注入,可通过上下文与表单组件集成:

// 表单上下文注入的方法
registerField: (name: string, getValue: () => any, setValue: (value: any) => void) => void
unregisterField: (name: string) => void

示例

基本使用

<yt-checkbox-group
  :list="[
    { label: '选项1', value: 1 },
    { label: '选项2', value: 2 },
    { label: '选项3', value: 3 }
  ]"
  @change="handleChange"
/>

默认选中

<yt-checkbox-group
  :list="[
    { label: '苹果', value: 'apple', checked: true },
    { label: '香蕉', value: 'banana' },
    { label: '橙子', value: 'orange', checked: true }
  ]"
  @change="handleChange"
/>

禁用选项

<yt-checkbox-group
  :list="[
    { label: '选项1', value: 1 },
    { label: '选项2', value: 2, disabled: true },
    { label: '选项3', value: 3 },
    { label: '选项4', value: 4, disabled: true }
  ]"
  @change="handleChange"
/>

表单字段

<yt-checkbox-group
  name="hobbies"
  :list="[
    { label: '篮球', value: 'basketball' },
    { label: '足球', value: 'football' },
    { label: '游泳', value: 'swimming' },
    { label: '跑步', value: 'running' }
  ]"
  @change="handleHobbyChange"
/>

动态更新

<script setup>
  import { ref } from 'vue'

  const checkboxList = ref([
    { label: '选项A', value: 'A' },
    { label: '选项B', value: 'B' },
    { label: '选项C', value: 'C' }
  ])

  function updateList() {
    checkboxList.value.push({ label: '选项D', value: 'D' })
  }
</script>

<template>
  <yt-checkbox-group
    :list="checkboxList"
    @change="handleChange"
  />
  <button @click="updateList">添加选项</button>
</template>

事件处理

<script setup>
  function handleCheckboxChange(value) {
    console.log('选中值:', value)
    // 处理选中值变化逻辑
  }
</script>

<template>
  <yt-checkbox-group
    :list="[
      { label: '选项1', value: 1 },
      { label: '选项2', value: 2 },
      { label: '选项3', value: 3 }
    ]"
    @change="handleCheckboxChange"
  />
</template>

完整示例

<yt-checkbox-group
  name="interests"
  :list="[
    { label: '音乐', value: 'music', checked: true },
    { label: '电影', value: 'movie' },
    { label: '阅读', value: 'reading', checked: true },
    { label: '运动', value: 'sport', disabled: true },
    { label: '游戏', value: 'game' },
    { label: '旅行', value: 'travel', disabled: true }
  ]"
  @change="handleInterestChange"
/>
最近更新:: 2026/1/2 20:18
Contributors: CHEEMS
Prev
开关 Switch
Next
单选框组 RadioGroup