跳到主要内容

Tag 标签

用于标记和选择的标签。

基础用法​

基础用法
默认标签主要标签成功标签圆角标签描边标签水墨国风组件库
import { useState } from 'react'
import { LhTag } from '@lh-ui/react'

export default function Demo() {
const [tags, setTags] = useState(['水墨', '国风', '组件库'])

const handleClose = (tag: string) => {
setTags((prev) => prev.filter((item) => item !== tag))
}

return (
<>
<LhTag>默认标签</LhTag>
<LhTag type="primary">主要标签</LhTag>
<LhTag type="success">成功标签</LhTag>
<LhTag type="warning" round>圆角标签</LhTag>
<LhTag type="danger" hit>描边标签</LhTag>
{tags.map((tag) => (
<LhTag key={tag} closable onClose={() => handleClose(tag)}>
{tag}
</LhTag>
))}
</>
)
}

Tag Props​

属性说明类型可选值默认值
type类型'text' | 'primary' | 'success' | 'warning' | 'danger' | 'info'—'text'
size尺寸'large' | 'middle' | 'small'—跟随 ConfigProvider
closable可关闭boolean—false
disabled禁用(不响应点击与关闭)boolean—false
round圆角boolean—false
hit描边形态boolean—false
sx快速布局属性SxProps——

Tag 事件​

事件说明回调签名Vue 对照
onClick点击时触发(传入 onClick 且未 disabled 时,组件升级为 role="button")(event: MouseEvent) => void@click
onClose关闭按钮点击(event: MouseEvent) => void@close
键盘交互

可点击的 Tag 渲染为 role="button" 并响应 Enter / Space,详见 无障碍。

关闭即卸载(React 增强)

点击关闭按钮后 Tag 立即从 DOM 卸载,随后才抛 onClose。lh-ui-plus 的 @close 只抛事件、由外部 v-if 移除节点;React 无指令,纯展示场景若还要外部 state 控制卸载 用法太重,故本库内置关闭态。若需完全自行控制显隐,用条件渲染包裹即可。

样式​

import '@lh-ui/react/style/tag'