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

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

警报 (Alert)

用于传达影响系统、功能或页面的状态。

源代码Storybook配方
这是警报标题

用法

import { Alert } from "@chakra-ui/react"
<Alert.Root>
  <Alert.Indicator />
  <Alert.Content>
    <Alert.Title />
    <Alert.Description />
  </Alert.Content>
</Alert.Root>
信息
如果您偏好封闭式组件组合,请查看下面的代码片段

示例

描述

渲染 Alert.Description 组件以提供警报的额外上下文。

无效字段
您的表单存在一些错误。请修正后重试。

状态

通过传递 status 属性来更改警报的状态。这将影响使用的颜色方案和图标。警报支持 errorsuccesswarninginfo 状态。

处理您的请求时出错
Chakra 将于8月30日上线。准备好了吗!
您的账户似乎即将到期,立即升级
数据已上传至服务器。开始吧!

变体

使用 variant 属性更改警报的视觉样式。值可以是 subtlesolidoutline

数据已上传至服务器。开始吧!
数据已上传至服务器。开始吧!
数据已上传至服务器。开始吧!

带关闭按钮

这是一个如何将 Alert 与关闭按钮组合的示例。

成功!
您的申请已收到。我们将在未来48小时内审核您的申请并回复。

带加载指示器

这是一个如何将 Alert 与加载指示器组合的示例。

我们正在加载一些内容

自定义图标

使用 icon 属性将自定义图标传递给警报。这将覆盖警报状态的默认图标。

提交此表单将删除您的账户

颜色调色板覆盖

默认的颜色调色板是从 status 属性推断的。要覆盖颜色调色板,请传递 colorPalette 属性。

这是一个信息警报,但显示为青色

定制

您可以使用样式属性来样式化 Alert 组件。

黑色星期五特卖 (八折优惠)
升级您的计划以获得特卖访问权限。
升级
注意:黑色星期五特卖 (八折优惠)

封闭组件

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

import { Alert as ChakraAlert } from "@chakra-ui/react"
import * as React from "react"

export interface AlertProps extends Omit<ChakraAlert.RootProps, "title"> {
  startElement?: React.ReactNode
  endElement?: React.ReactNode
  title?: React.ReactNode
  icon?: React.ReactElement
}

export const AlertClosedComponent = React.forwardRef<
  HTMLDivElement,
  AlertProps
>(function Alert(props, ref) {
  const { title, children, icon, startElement, endElement, ...rest } = props
  return (
    <ChakraAlert.Root ref={ref} {...rest}>
      {startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}
      {children ? (
        <ChakraAlert.Content>
          <ChakraAlert.Title>{title}</ChakraAlert.Title>
          <ChakraAlert.Description>{children}</ChakraAlert.Description>
        </ChakraAlert.Content>
      ) : (
        <ChakraAlert.Title flex="1">{title}</ChakraAlert.Title>
      )}
      {endElement}
    </ChakraAlert.Root>
  )
})

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

npx @chakra-ui/cli snippet add alert

属性

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

组件的颜色调色板

status 'info'
'info' | 'warning' | 'success' | 'error' | 'neutral'

组件的状态

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

组件的变体

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

组件的大小

inline
'true' | 'false'

组件的内联状态

上一页

操作栏

下一页

头像