使用高级 Chakra UI 组件,更快地构建应用程序 💎

了解更多
跳到内容
文档在线示例指南博客
赞助商

标签

用于对内容进行分类或添加标签

源码StorybookRecipe
普通标签
可关闭标签

用法

import { Tag } from "@chakra-ui/react"
<Tag.Root>
  <Tag.Label>Tag here</Tag.Label>
</Tag.Root>
信息
如果您更喜欢封闭式组件组合,请查看下面的代码片段。

示例

图标

使用 `Tag.StartElement` 和 `Tag.EndElement` 组件在标签的开始或结束处添加图标。

标签 1
热门评价
标签 2

变体

使用 `variant` 属性来更改标签的外观。

灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色

尺寸

使用 `size` 属性来更改标签的尺寸。

灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色
灰色

颜色

使用 `colorPalette` 属性来更改标签的颜色。

灰色

内容
内容
内容

红色

内容
内容
内容

绿色

内容
内容
内容

蓝色

内容
内容
内容

青色

内容
内容
内容

粉色

内容
内容
内容

紫色

内容
内容
内容

青色

内容
内容
内容

橙色

内容
内容
内容

黄色

内容
内容
内容

可关闭

在 `Tag.EndElement` 中使用 `Tag.CloseTrigger` 使标签可关闭。

标签 1
标签 2

溢出

使用 `maxWidth` 属性控制标签的最大宽度。当内容超出此宽度时,将使用省略号进行截断。

这在处理长度可能变化的动态或用户生成内容时特别有用。

Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam molestias, laboriosam, quod, quia quidem quae voluptatem natus exercitationem autem quibusdam

头像

标签组件已设计为可与 `Avatar` 组件良好协作。

注意:将头像尺寸设置为 `full` 以确保其正确显示。

JD
Emily sm
JD
Emily md
JD
Emily lg
JD
Emily xl

渲染为按钮

使用 `asChild` 属性将标签渲染为按钮。

封闭组件

以下是如何为封闭式组件组合设置 Tag。

import { Tag as ChakraTag } from "@chakra-ui/react"
import * as React from "react"

export interface TagProps extends ChakraTag.RootProps {
  startElement?: React.ReactNode
  endElement?: React.ReactNode
  onClose?: VoidFunction
  closable?: boolean
}

export const Tag = React.forwardRef<HTMLSpanElement, TagProps>(
  function Tag(props, ref) {
    const {
      startElement,
      endElement,
      onClose,
      closable = !!onClose,
      children,
      ...rest
    } = props

    return (
      <ChakraTag.Root ref={ref} {...rest}>
        {startElement && (
          <ChakraTag.StartElement>{startElement}</ChakraTag.StartElement>
        )}
        <ChakraTag.Label>{children}</ChakraTag.Label>
        {endElement && (
          <ChakraTag.EndElement>{endElement}</ChakraTag.EndElement>
        )}
        {closable && (
          <ChakraTag.EndElement>
            <ChakraTag.CloseTrigger onClick={onClose} />
          </ChakraTag.EndElement>
        )}
      </ChakraTag.Root>
    )
  },
)

如果您想自动将封闭组件添加到项目中,请运行此命令:

npx @chakra-ui/cli snippet add tag

属性

属性默认值类型
colorPalette 'gray'
'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink'

组件的调色板

size 'md'
'sm' | 'md' | 'lg' | 'xl'

组件的尺寸

variant 'surface'
'subtle' | 'solid' | 'outline' | 'surface'

组件的变体

上一页

Table

下一页

文本区域