# ui-form-checkbox-bar 标签式复选框组件

版本:v2.3.11

以标签(Tag)形式展示的复选框组件,选中/未选中分别以不同主题的 ui-tag 呈现,支持自定义图标、样式和大小。可配合 ui-form-checkbox-group 使用

# 基本使用

<template>
  <view class="checkbox-bar-demo">
    <ui-form-checkbox-bar v-model="checked" label="选项1" />
    <ui-form-checkbox-bar v-model="checked2" label="选项2" type="success" />
  </view>
</template>

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

const checked = ref(false)
const checked2 = ref(true)
</script>

<style scoped>
.checkbox-bar-demo {
  padding: 20px;
  display: flex;
  gap: 16px;
}
</style>

# Props

参数 类型 默认值 说明
type String 'primary' 类型/主题,可选值:defaultprimarysuccesswarningdangerinfofail
modelValue String/Object/Number/Boolean/Array {} 绑定值(v-model)
label String/Object/Number/Boolean {} 显示文本/标识值,在 group 模式下作为选中值的标识
indeterminate Boolean null 设置 indeterminate 状态,只负责样式控制
disabled Boolean false 是否禁用
checked Boolean false 当前是否勾选
name String '' 原生 name 属性
border Boolean false 是否显示边框
trueLabel String/Number null 选中时的值
falseLabel String/Number null 没有选中时的值
id String null 原生 id 属性
controls String '' 当 indeterminate 为真时,关联的 checkbox 的 id
checkedStyle Object {} 选中时的自定义样式
uncheckedStyle Object {} 未选中时的自定义样式
icon String '' 图标类名(选中/未选中通用)
checkedIcon String '' 选中时的图标类名
uncheckedIcon String '' 未选中时的图标类名
size String '' 尺寸,可选值:''minixssmlg

# Events

事件名 说明 回调参数
change 选中状态变化时触发 (value, name, event)

# Slots

名称 说明
default 复选框标签内容,若未使用插槽则显示 label 值

# 示例

# 配合复选框组使用

<template>
  <view class="checkbox-bar-group-demo">
    <ui-form-checkbox-group v-model="selectedValues">
      <ui-form-checkbox-bar label="标签1" value="1" />
      <ui-form-checkbox-bar label="标签2" value="2" type="success" />
      <ui-form-checkbox-bar label="标签3" value="3" type="warning" />
      <ui-form-checkbox-bar label="标签4" value="4" type="danger" />
    </ui-form-checkbox-group>
    <text>选中值:{{ selectedValues }}</text>
  </view>
</template>

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

const selectedValues = ref([])
</script>

# 自定义图标

<template>
  <view class="checkbox-bar-icon-demo">
    <ui-form-checkbox-bar
      v-model="checked"
      label="自定义图标"
      checkedIcon="icon-zhengque"
      uncheckedIcon="icon-cuowu"
    />
  </view>
</template>

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

const checked = ref(false)
</script>

# 禁用状态

<template>
  <view class="checkbox-bar-disabled-demo">
    <ui-form-checkbox-bar v-model="checked" label="禁用状态" disabled />
  </view>
</template>

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

const checked = ref(true)
</script>

# 平台兼容

平台 支持情况
H5
微信小程序
支付宝小程序
百度小程序
字节跳动小程序
QQ小程序
APP

# 注意事项

  1. 配合 ui-form-checkbox-group 使用时,label 属性作为选中值的标识
  2. checkedStyle 和 uncheckedStyle 可分别自定义选中和未选中状态的样式
  3. icon 属性为通用图标,checkedIcon 和 uncheckedIcon 优先级更高
  4. trueLabel 和 falseLabel 可自定义选中/未选中时 v-model 绑定的值