Skip to content
On this page
你当前查看的文档是tmui3.2.0(已不再支持NVUE)
[tmui3.1.x nvue点我] [tmui4.x uniappx原生开发代替nvue]

表单组件

多选框 TmCheckbox

可单单独使用,也可多选组合使用

🌶️ 示例

查看模拟效果
示例模板
vue
<template>
	<view>
		<tm-sheet>
			<tm-text font-size="32" class=" text-weight-b mb-16 d-block">单选框</tm-text>
			<tm-text color="#999999">
				可单单独使用,也可单选框组合使用
			</tm-text>
		</tm-sheet>

		<tm-sheet :margin="['24']">
			<tm-text font-size="32" class=" text-weight-b d-block mb-24">单独使用</tm-text>
			<view class="flex flex-row flex-row-center-start gap-10">
				<tm-checkbox label="苹果"></tm-checkbox>
				<tm-checkbox color="success" label="梨子"></tm-checkbox>
				<tm-checkbox color="error" label="香蕉"></tm-checkbox>
				<tm-checkbox color="warn" label="地瓜"></tm-checkbox>
			</view>
		</tm-sheet>
		<tm-sheet :margin="['24']">
			<tm-text font-size="32" class=" text-weight-b d-block mb-24">联合Group使用</tm-text>
			<tm-checkbox-group @change="onchange" v-model="checkboxValue">
				<tm-checkbox v-for="(item, index) in ['苹果', '梨子', '香蕉', '地瓜', '花生']" :key="index" :value="item"
					:label="item"></tm-checkbox>
			</tm-checkbox-group>
			<tm-sheet color="info" padding="24" :margin="[0, 24, 0, 0]"><tm-text>{{ checkboxValue }}</tm-text>
			</tm-sheet>
		</tm-sheet>

		<tm-sheet :margin="['24']">
			<tm-text font-size="32" class=" text-weight-b d-block">竖向排列(并自定义样式)</tm-text>
		</tm-sheet>
		<tm-checkbox-group v-model="checkboxValue2" direction="column">
			<tm-sheet :color="checkboxValue2.includes(item.id) ? 'primary' : 'white'" v-for="(item, index) in listview"
				:key="index" :margin="[24, 0]" padding="0" class="flex-1">
				<tm-checkbox class="pa-20" :color="checkboxValue2.includes(item.id) ? 'warn' : 'primary'"
					:value="item.id">
					<template v-slot:label="checked">
						<tm-text :color="checkboxValue2.includes(item.id) ? '#fff' : '#333'">{{ item.text }}</tm-text>
					</template>
				</tm-checkbox>
			</tm-sheet>
		</tm-checkbox-group>

		<tm-sheet :margin="['24']">
			<tm-text font-size="32" class=" text-weight-b d-block mb-24">限制数量为2</tm-text>
			<tm-checkbox-group :max="2">
				<tm-checkbox v-for="(item, index) in ['苹果', '梨子', '香蕉', '地瓜', '花生']" :key="index" :value="item"
					:label="item"></tm-checkbox>
			</tm-checkbox-group>

		</tm-sheet>

		<view class="py-20"></view>
	</view>
</template>

<script lang="ts" setup>
import { ref } from "vue"
const checkboxValue = ref<string[]>([])
const checkboxValue2 = ref<Array<string | number | boolean>>([])
const listview = ref<Array<Record<string, any>>>([
	{ text: "科技创新引领制造业高质量发展", id: 1 },
	{ text: "明确提出“建立保持制造业合理比重投入机制”。这些都为以科技创新引领制造业高质量发展指明了道路和方向。", id: 2 },
	{ text: "改造提升传统产业,培育壮大新兴产业,布局建设未来产业,完善现代化产业体系", id: 3 },
])
const onchange = (val: any) => {
	// console.log(val,'**')
}
</script>

<style></style>

🌶️ 兼容性

平台兼容

H5uniAPP小程序version
☑️☑️☑️☑️

🌱 参数

参数名类型默认值描述
colorstring""当前主题色,空值时取全局
unCheckColorstring""当前未选中时主题色,空值时取全局
darkUnCheckColorstring""当前未选中时的暗黑主题色
modelValuestring|number|boolean''当前双向绑定值
valuestring|number|booleantrue选中的值,
unCheckValuestring|number|boolean''未选中的值
disabledbooleanfalse是否禁用
iconstring"check-line"选中的图标名称。
labelstring""右侧文字。
hiddenCheckboxboolean|stringfalse是否隐藏选中框。然后利用默认插槽自定义选中所有样式和状态。
indeterminateboolean|stringfalse半选中
sizestring|number"42"尺寸
iconSizestring|number"40"中间小图标大小
labelFontSizestring|number"30"文字大小
showLabelbooleantrue如果不要显示label时设置为false可以隐藏label并把label间隙删除,

🌹 事件

事件名参数返回数据描述
change名称:check,当前是否选中,名称:value,当前选中的值,-用户交互切换,选中变换时触发。
click--点击事件
update:modelValue---

🌽 slot插槽

插槽名数据描述
label名称:binding,checked 类型:-
-

🥗 ref方法

方法名参数返回值描述