JGuang

警告提示

Alert · Ant Design

交互预览
npm install antd@6.6.5 @ant-design/icons@6.3.4 dayjs@1.11.23

警告提示

警告提示,展现需要关注的信息。

何时使用

  • 当某个页面需要向用户显示警告的信息时。
  • 非浮层的静态展现形式,始终展现,不会自动消失,用户可以点击关闭。

代码演示

  • 基本 · basic

  • 四种样式 · style

  • 无边框 · filled

  • 可关闭的警告提示 · closable

  • 含有辅助性文字介绍 · description

  • 图标 · icon

  • 顶部公告 · banner

  • 轮播的公告 · loop-banner

  • 平滑地卸载 · smooth-closed

  • React 错误处理 · error-boundary

  • 操作 · action

  • 自定义标题对齐 · custom-title-alignment

  • 自定义语义结构的样式和类 · style-class

API

通用属性参考:通用属性

参数说明类型默认值版本全局配置
action自定义操作项ReactNode-×
afterClose关闭动画结束后触发的回调函数,请使用 closable.afterClose 替换() => void-×
banner是否用作顶部公告booleanfalse×
variant警告提示样式变体outlined | filledoutlined6.4.06.4.0
classNames自定义组件内部各语义化结构的类名。支持对象或函数Record<SemanticDOM, string> | (info: { props }) => Record<SemanticDOM, string>-6.0.0
closable可关闭配置boolean | ClosableType & React.AriaAttributesfalseclosable.closeIcon、closable.aria-*:5.15.0
closeIcon(仅支持全局配置)自定义关闭图标ReactNode-×5.14.0
description警告提示的辅助性文字介绍ReactNode-×
errorIcon(仅支持全局配置)自定义错误图标ReactNode-×6.2.0
icon自定义图标,showIcon 为 true 时有效ReactNode-×
infoIcon(仅支持全局配置)自定义信息图标ReactNode-×6.2.0
message警告提示内容,请使用 title 替换ReactNode-×
onClose关闭时触发的回调函数,请使用 closable.onClose 替换(e: MouseEvent) => void-×
closeIcon自定义关闭图标,请使用 closable.closeIcon 替代ReactNode--×
closeText自定义关闭文案,请使用 closable.closeIcon 替代ReactNode--×
showIcon是否显示辅助图标booleanfalse,banner 模式下默认值为 true×
styles自定义组件内部各语义化结构的内联样式。支持对象或函数Record<SemanticDOM, CSSProperties> | (info: { props }) => Record<SemanticDOM, CSSProperties>-6.0.0
successIcon(仅支持全局配置)自定义成功图标ReactNode-×6.2.0
title警告提示内容ReactNode-×
type指定警告提示的样式,有四种选择 success、info、warning、errorstringinfo,banner 模式下默认值为 warning×
warningIcon(仅支持全局配置)自定义警告图标ReactNode-×6.2.0

ClosableType

参数说明类型默认值版本
afterClose关闭动画结束后触发的回调函数function--
closeIcon自定义关闭图标ReactNode--
onClose关闭时触发的回调函数(e: MouseEvent) => void--

Alert.ErrorBoundary

参数说明类型默认值版本
description自定义错误内容,如果未指定会展示报错堆栈ReactNode{{ error stack }}
message自定义错误标题,如果未指定会展示原生报错信息,请使用 title 替换ReactNode{{ error }}
title自定义错误标题,如果未指定会展示原生报错信息ReactNode{{ error }}

Semantic DOM

语义节点原生说明版本
root根元素,包含边框、背景色、内边距、圆角、位置布局等警告提示框的基础样式6.0.0
icon图标元素,包含图标的颜色、行高、外边距等样式,支持不同类型的状态图标6.0.0
section内容元素,采用 flex 布局控制内容区域的排版和最小宽度6.0.0
title标题元素,包含标题文字的颜色、字体等样式6.0.0
description描述元素,包含描述文字的字体大小、行高等排版样式6.0.0
actions操作组元素,包含操作按钮的布局和间距样式6.0.0
close关闭按钮元素,包含按钮的基础样式6.1.0

语义说明来源: vendor/components/alert/demo/_semantic.tsx

Design Token

类型、继承关系和原生令牌声明保持固定源码原文;默认值由原生主题计算,并可能受 ConfigProvider 覆盖。本表不伪造静态默认值。

令牌类型原生说明
borderRadiusCSSProperties['borderRadius']组件圆角
defaultPaddingCSSProperties['padding']默认内间距
withDescriptionPaddingCSSProperties['padding']带有描述的内间距
withDescriptionIconSizenumber | string带有描述时的图标尺寸

声明来源: vendor/components/alert/style/index.ts

import type { CSSProperties } from 'react';

import type { CSSObject } from '@ant-design/cssinjs';

import { unit } from '@ant-design/cssinjs';

import { genFocusStyle, resetComponent } from '../../style';

import type { FullToken, GenerateStyle, GetDefaultToken } from '../../theme/internal';

import { genStyleHooks } from '../../theme/internal';

export interface ComponentToken {
  // Component token here
  /**
   * @desc 组件圆角
   * @descEN Border radius of alert
   * @since 6.6.0
   */
  borderRadius: CSSProperties['borderRadius'];
  /**
   * @desc 默认内间距
   * @descEN Default padding
   */
  defaultPadding: CSSProperties['padding'];
  /**
   * @desc 带有描述的内间距
   * @descEN Padding with description
   */
  withDescriptionPadding: CSSProperties['padding'];
  /**
   * @desc 带有描述时的图标尺寸
   * @descEN Icon size with description
   */
  withDescriptionIconSize: number | string;
}

type AlertToken = FullToken<'Alert'> & {
  // Custom token here
};

原生通用属性

Tips: 以下通用属性适用于 antd 大部分组件,不支持的组件会单独说明。

参数说明类型默认值
style自定义样式CSSProperties-
className自定义类名string-
rootClassName添加在组件最外层的 classNamestring-
autoFocus自动获取焦点,仅对表单类、链接、交互容器等可聚焦元素生效booleanfalse

安装并复现示例

npm install antd@6.6.5 @ant-design/icons@6.3.4 dayjs@1.11.23

使用 ConfigProvider 和原生 App,并单独配置 dayjs 语言。每个示例在查看代码中列出完整源码文件和额外固定依赖。示例名称用于选择演示,不是组件通用属性。主题、语言与 SSR 初始化见资源安装指南。

原生类型参考

源码查看器包含未修改的原生实现和以下声明文件,继承类型仍位于原生包中。代码中的英文注释保留为源码参考。

  • vendor/components/alert/Alert.tsx
  • vendor/components/alert/ErrorBoundary.tsx
  • vendor/components/alert/index.tsx
  • vendor/components/alert/style/index.ts

来源与许可

https://github.com/ant-design/ant-design/tree/4a39f54842eade4e565ab336ef6097cd7e723cdd

保留原生中英文正文与可执行示例;官网专用的嵌入章节和令牌表格在本地展开。Ant Design 使用 MIT 许可,另列依赖的许可证也需保留。上传预览禁止向外发起请求,不提供后端服务。