Skip to content
# t-checkbox-state

CheckboxState 多选状态

t-checkbox-state 组件介绍 ​

t-checkbox-state 是复选状态组件,与 t-checkbox 的区别在于:t-checkbox 只支持选中和未选中两种状态,而 t-checkbox-state 支持选中、未选中和半选三种状态。常用于树形结构、全选等场景。

t-checkbox-state 平台兼容 ​

HarmonyH5AndroidiOS小程序UTS
✅✅✅✅✅✅

t-checkbox-state 基础用法 ​

基础用法参考 demo/checkbox/checkbox.uvue,通过 state 属性控制选中状态。

vue
<template>
	<view class="p-15">
		<t-card title="CheckboxState 半选中状态复选框"
				sub-title="配合复选框组件使用"
				class="mb-15"></t-card>
		<view :class="[`tvg trm tpm`]">
			<t-checkbox-state :state="state"
							  @select="select">全部</t-checkbox-state>
			<t-checkbox-group v-model="val"
							  :class="[`fl fww`]">
				<t-checkbox value="0">未选中</t-checkbox>
				<t-checkbox value="1">选中</t-checkbox>
				<t-checkbox value="2">半选</t-checkbox>
			</t-checkbox-group>
		</view>
	</view>
</template>

<script setup>
	const val = ref<string[]>([])
	function select(e : boolean) {
		val.value = e ? ['0', '1', '2'] : []
	}
	const state = computed(() : number => {
		let s : number = 0
		if (val.value.length == 0) {
			s = 0
		} else if (val.value.length == 3) {
			s = 1
		} else {
			s = 2
		}
		return s
	})
</script>

三种状态 ​

vue
<template>
  <t-checkbox-state :state="0">未选中</t-checkbox-state>
  <t-checkbox-state :state="1">选中</t-checkbox-state>
  <t-checkbox-state :state="2">半选</t-checkbox-state>
</template>

t-checkbox-state Props ​

属性名说明类型默认值
state组件状态,0 未选中、1 选中、2 半选number0
iconBoxClass选择框盒子样式string''
size组件尺寸string''
type组件类型string''
disabled是否禁用booleanfalse
hover是否有点击效果booleanfalse
effect组件显示主题string''

t-checkbox-state Events ​

事件名说明回调参数
change状态变化时触发(checked: boolean) => void
select用户操作点击时触发(checked: boolean) => void

t-checkbox-state Slots ​

插槽名说明
default复选框标签内容