使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助

状态

用于指示进程或状态。

源代码Storybook示例

用法

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

示例

标签

Status.Root 组件中渲染标签。

错误
信息
警告
成功

尺寸

使用 size 属性来改变状态组件的尺寸。

审核中
错误
已批准
审核中
错误
已批准
审核中
错误
已批准

封闭组件

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

import type { ColorPalette } from "@chakra-ui/react"
import { Status as ChakraStatus } from "@chakra-ui/react"
import * as React from "react"

type StatusValue = "success" | "error" | "warning" | "info"

export interface StatusProps extends ChakraStatus.RootProps {
  value?: StatusValue
}

const statusMap: Record<StatusValue, ColorPalette> = {
  success: "green",
  error: "red",
  warning: "orange",
  info: "blue",
}

export const Status = React.forwardRef<HTMLDivElement, StatusProps>(
  function Status(props, ref) {
    const { children, value = "info", ...rest } = props
    const colorPalette = rest.colorPalette ?? statusMap[value]
    return (
      <ChakraStatus.Root ref={ref} {...rest} colorPalette={colorPalette}>
        <ChakraStatus.Indicator />
        {children}
      </ChakraStatus.Root>
    )
  },
)

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

npx @chakra-ui/cli snippet add status

属性

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

组件的颜色调色板

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

组件的尺寸

上一个

Stat

下一个

Steps