Skip to content
# t-tag

Tag 标签

t-tag 组件介绍 ​

t-tag 用于以标签形式展示信息,支持可关闭、主题样式、动态隐藏以及自定义尺寸和关闭图标样式。适用于标记分类、筛选条件、状态标识等场景。

t-tag 平台兼容 ​

HarmonyH5AndroidiOS小程序UTS
✅✅✅✅✅✅

t-tag 基础用法 ​

基础用法参考 demo/tag/tag.uvue,通过默认插槽设置标签文本,通过 closable 属性开启关闭功能。

vue
<template>
	<view>
		<t-card class='mlrt-15'
				title="Tag 标签"
				sub-title="轻量级的方式来展示和操作标签信息,支持可关闭、主题样式、动态隐藏以及自定义尺寸和关闭图标样式"></t-card>
		<tui-theme-switch></tui-theme-switch>
		<introduction title="基础功能+状态展示">
			<view class="fl fww">
				<t-tag size="large"
					   type="primary"
					   class="mrb-15">默认</t-tag>
				<t-tag size="medium"
					   class="mrb-15"
					   type="success">成功</t-tag>
				<t-tag size="small"
					   class="mrb-15"
					   type="error">错误</t-tag>
				<t-tag size="mini"
					   class="mrb-15"
					   type="warning">警告</t-tag>
			</view>
			<view class="fl fww">
				<t-tag size="large"
					   type="primary"
					   effect="normal"
					   class="mrb-15">normal</t-tag>
				<t-tag size="medium"
					   class="mrb-15"
					   effect="dark"
					   type="success">dark</t-tag>
				<t-tag size="small"
					   class="mrb-15"
					   effect="light"
					   type="error">light</t-tag>
				<t-tag size="mini"
					   class="mrb-15"
					   effect="plain"
					   type="warning">plain</t-tag>
			</view>
		</introduction>
		<introduction title="可移除标签">
			<view class="fl fww">
				<t-tag size="large"
					   type="primary"
					   :closable="true"
					   class="mrb-15">默认</t-tag>
				<t-tag size="medium"
					   class="mrb-15"
					   :closable="true"
					   type="success">成功</t-tag>
				<t-tag size="small"
					   :closable="true"
					   class="mrb-15"
					   type="error">错误</t-tag>
				<t-tag size="mini"
					   :closable="true"
					   class="mrb-15"
					   type="warning">警告</t-tag>
			</view>
		</introduction>
		<introduction title="动态编辑">
			<view class="fl fww">
				<t-tag v-for="(item,index) in tags"
					   :key="index"
					   :name='`${index}`'
					   type="primary"
					   class="mrb-15 "
					   :closable="true"
					   @close="onclose">{{item['name']}}</t-tag>
				<t-tag v-if="inputVisible"
					   type="primary"
					   @click="inputVisible=false">+NewTag</t-tag>
				<input class="b-1,s,#e3e3e3 w-75 r-5 h-35 plr-5"
					   :focus="true"
					   v-else
					   v-model="inputvalue"
					   @blur="blur"></input>
			</view>
		</introduction>
	</view>
</template>
<script setup>
	const inputVisible = ref(true)
	const inputvalue = ref('')
	const tags = ref<UTSJSONObject[]>([
		{ name: '标签一' },
		{ name: '标签二' },
		{ name: '标签三' },
		{ name: '标签四' },
		{ name: '标签五' }
	])
	function blur() {
		if (inputvalue.value != '') {
			tags.value.push({ name: inputvalue.value })
			inputvalue.value = ''
			inputVisible.value = true
		}
	}
	function onclose(e : string) {
		console.log(e)
	}
</script>

t-tag Props ​

属性名说明类型默认值
path点击组件后跳转的页面路径;为空时仅响应事件string''
hover是否启用点击效果booleantrue
type组件主题类型,可选 info、primary、error、warning、successstring''
disabled是否禁用booleanfalse
effect组件显示主题,可选 normal、dark、light、plainstring'light'
size组件尺寸,可选 large、medium、small、ministring'medium'
name标签名称,关闭时返回string''
closable是否可关闭booleanfalse
closeClass关闭按钮样式类,对应外部类 close-classany''
labelClass标签文本样式类,对应外部类 label-classany''

t-tag Events ​

事件名说明回调参数
click点击时触发-
close关闭标签时触发,返回标签 namename: string
transitionend动画结束时触发-
initFinished组件初始化完成时触发,返回组件节点信息-
touchstart触摸开始时触发-
touchend触摸结束时触发-
touchmove触摸移动时触发-
touchcancel触摸取消时触发-

外部类 ​

类名说明
close-class关闭按钮样式
label-class标签文本样式