logoAnt Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
YouMindTRACTIANLobeHubCodeRabbit
6.5.0
  • Components Overview
  • Changelog
    v6.5.0
  • General
    • Button
    • FloatButton
    • Icon
    • Typography
  • Layout
    • Divider
    • Flex
    • Grid
    • Layout
    • Masonry
      6.0.0
    • Space
    • Splitter
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
    • Tabs
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPicker
    • DatePicker
    • Form
    • Input
    • InputNumber
    • Mentions
    • Radio
    • Rate
    • Select
    • Slider
    • Switch
    • TimePicker
    • Transfer
    • TreeSelect
    • Upload
  • Data Display
    • Avatar
    • Badge
    • Calendar
    • Card
    • Carousel
    • Collapse
    • Descriptions
    • Empty
    • Image
    • List
      DEPRECATED
    • Popover
    • QRCode
    • Segmented
    • Statistic
    • Table
    • Tag
    • Timeline
    • Tooltip
    • Tour
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
  • Other
    • Affix
    • App
    • BorderBeam
      6.4.0
    • ConfigProvider
    • Util
When To Use
Examples
Hooks usage (recommended)
Other types of message
Customize duration
Stack
Message with loading indicator
Promise interface
Custom semantic styles
Update Message Content
Static method (deprecated)
API
Global static methods
Semantic DOM
Design Token
FAQ
Why I can not access context, redux, ConfigProvider locale/prefixCls/theme in message?
How to set static methods prefixCls ?

Message

Display global messages as feedback in response to user operations.
Importimport { message } from 'antd';
GitHub
components/messageIssueOpen issues
Docs
Edit this pageLLMs.md
DrawerModal

Resources

Ant Design X
Ant Design Charts
Ant Design Pro
Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Web3
Ant Design Landing-Landing Templates
Scaffolds-Scaffold Market
Umi-React Application Framework
dumi-Component doc generator
qiankun-Micro-Frontends Framework
Ant Motion-Motion Solution
China Mirror 🇨🇳

Community

Awesome Ant Design
Medium
X
yuque logoAnt Design in YuQue
Ant Design in Zhihu
Experience Cloud Blog
seeconf logoSEE Conf-Experience Tech Conference

Help

GitHub
Change Log
FAQ
For Agents
Bug Report
Issues
Discussions
StackOverflow
SegmentFault

Ant XTech logoMore Products

yuque logoYuQue-Document Collaboration Platform
AntV logoAntV-Data Visualization
Egg logoEgg-Enterprise Node.js Framework
Kitchen logoKitchen-Sketch Toolkit
Galacean logoGalacean-Interactive Graphics Solution
WeaveFox logoWeaveFox-AI Development with WeaveFox 🦊
xtech logoAnt Financial Experience Tech
Theme Editor
Made with ❤ by
Ant Group and Ant Design Community
loading

When To Use

  • To provide feedback such as success, warning, error etc.
  • A message is displayed at top and center and will be dismissed automatically, as a non-interrupting light-weighted prompt.

Examples

API

Common props ref:Common props

This component provides some static methods, with usage and arguments as following:

  • message.success(content, [duration], onClose)
  • message.error(content, [duration], onClose)
  • message.info(content, [duration], onClose)
  • message.warning(content, [duration], onClose)
  • message.loading(content, [duration], onClose)
PropertyDescriptionTypeDefault
contentThe content of the messageReactNode | config-
durationTime(seconds) before auto-dismiss, don't dismiss if set to 0number3
onCloseSpecify a function that will be called when the message is closedfunction-

afterClose can be called in thenable interface:

  • message[level](content, [duration]).then(afterClose)
  • message[level](content, [duration], onClose).then(afterClose)

where level refers one static methods of message. The result of then method will be a Promise.

Supports passing parameters wrapped in an object:

  • message.open(config)
  • message.success(config)
  • message.error(config)
  • message.info(config)
  • message.warning(config)
  • message.loading(config)

The properties of config are as follows:

PropertyDescriptionTypeDefaultVersionGlobal Config
classNameCustomized CSS classstring--5.7.0
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-6.0.06.0.0
contentThe content of the messageReactNode--×
durationTime(seconds) before auto-dismiss, don't dismiss if set to 0number3-×
iconCustomized IconReactNode--×
pauseOnHoverkeep the timer running or not on hoverbooleantrue-×
keyThe unique identifier of the Messagestring | number--×
styleCustomized inline styleCSSProperties--5.7.0
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-6.0.06.0.0
onClickSpecify a function that will be called when the message is clickedfunction--×
onCloseSpecify a function that will be called when the message is closedfunction--×

Global static methods

Methods for global configuration and destruction are also provided:

  • message.config(options)
  • message.destroy()

use message.destroy(key) to remove a message.

message.config

When you use ConfigProvider for global configuration, the system will automatically start RTL mode by default.(4.3.0+)

When you want to use it alone, you can start the RTL mode through the following settings.

js
message.config({
top: 100,
duration: 2,
maxCount: 3,
rtl: true,
prefixCls: 'my-message',
});
PropertyDescriptionTypeDefaultVersionGlobal Config
durationTime before auto-dismiss, in secondsnumber3×
getContainerReturn the mount node for Message, but still display at fullScreen() => HTMLElement() => document.body×
maxCountMax message show, drop oldest if exceed limitnumber-×
prefixClsThe prefix className of message nodestringant-message4.5.0×
rtlWhether to enable RTL modebooleanfalse×
stackMessages will be stacked when amount is over threshold. Only the latest message is shown in the collapsed stackboolean | { threshold: number }false6.4.0×
topDistance from topstring | number8×

Semantic DOM

Design Token

Component TokenHow to use?
Token NameDescriptionTypeDefault Value
contentBgBackground color of Messagestring#ffffff
contentPaddingPadding of MessagePadding<string | number> | undefined9px 12px
zIndexPopupz-index of Messagenumber2010
Global TokenHow to use?
Token NameDescriptionTypeDefault Value
colorBgElevatedContainer background color of the popup layer, in dark mode the color value of this token will be a little brighter than `colorBgContainer`. E.g: modal, pop-up, menu, etc.string#ffffff
colorErrorUsed to represent the visual elements of the operation failure, such as the error Button, error Result component, etc.string#ff4d4f
colorInfoUsed to represent the operation information of the Token sequence, such as Alert, Tag, Progress, and other components use these map tokens.string#1677ff
colorSuccessUsed to represent the token sequence of operation success, such as Result, Progress and other components will use these map tokens.string#52c41a
colorTextDefault text color which comply with W3C standards, and this color is also the darkest neutral color.stringrgba(0,0,0,0.88)
colorTextHeadingControl the font color of heading.stringrgba(0,0,0,0.88)
colorWarningUsed to represent the warning map token, such as Notification, Alert, etc. Alert or Control component(like Input) will use these map tokens.string#faad14
borderRadiusLGLG size border radius, used in some large border radius components, such as Card, Modal and other components.number8
boxShadowControl the box shadow style of an element.string 0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05)
boxShadowTertiaryControl the tertiary box shadow style of an element.string 0 1px 2px 0 rgba(0,0,0,0.05), 0 1px 6px -1px rgba(0,0,0,0.03), 0 2px 4px 0 rgba(0,0,0,0.03)
controlHeightLGLG component heightnumber40
fontFamilyThe font family of Ant Design prioritizes the default interface font of the system, and provides a set of alternative font libraries that are suitable for screen display to maintain the readability and readability of the font under different platforms and browsers, reflecting the friendly, stable and professional characteristics.string-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'
fontSizeThe most widely used font size in the design system, from which the text gradient will be derived.number14
fontSizeLGLarge font sizenumber16
lineHeightLine height of text.number1.5714285714285714
lineHeightLGLine height of large text.number1.5
marginControl the margin of an element, with a medium size.number16
marginLGControl the margin of an element, with a large size.number24
marginXSControl the margin of an element, with a small size.number8
marginXXLControl the margin of an element, with the largest size.number48
motionDurationFastMotion speed, fast speed. Used for small element animation interaction.string0.1s
motionDurationMidMotion speed, medium speed. Used for medium element animation interaction.string0.2s
motionDurationSlowMotion speed, slow speed. Used for large element animation interaction.string0.3s
motionEaseInOutPreset motion curve.string
Cubic Bezier Visualizer
cubic-bezier(0.645, 0.045, 0.355, 1)External Link Icon
paddingContentHorizontalLGControl the horizontal padding of content element, suitable for large screen devices.number24
paddingLGControl the large padding of the element.number24
paddingMDControl the medium padding of the element.number20
paddingSMControl the small padding of the element.number12

FAQ

Why I can not access context, redux, ConfigProvider locale/prefixCls/theme in message?

antd will dynamic create React instance by ReactDOM.render when call message methods. Whose context is different with origin code located context.

When you need context info (like ConfigProvider context), you can use message.useMessage to get api instance and contextHolder node. And put it in your children:

tsx
const [api, contextHolder] = message.useMessage();
return (
<Context1.Provider value="Ant">
{/* contextHolder is inside Context1 which means api will get value of Context1 */}
{contextHolder}
<Context2.Provider value="Design">
{/* contextHolder is outside Context2 which means api will **not** get value of Context2 */}
</Context2.Provider>
</Context1.Provider>
);

Note: You must insert contextHolder into your children with hooks. You can use origin method if you do not need context connection.

App Package Component can be used to simplify the problem of useMessage and other methods that need to manually implant contextHolder.

How to set static methods prefixCls ?

You can config with ConfigProvider.config

Hooks usage (recommended)

Use message.useMessage to get contextHolder with context accessible issue. Please note that, we recommend to use top level registration instead of message static method, because static method cannot consume context, and ConfigProvider data will not work.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Customize duration

Customize message display duration from default 3s to 10s.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Message with loading indicator

Display a global loading indicator, which is dismissed by itself asynchronously.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Custom semantic styles

You can customize the semantic dom style of messages with classNames and styles.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
6.0.0
Static method (deprecated)

Static methods cannot consume Context provided by ConfigProvider. When enable layer, they may also cause style errors. Please use hooks version or App provided instance first.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Other types of message

Messages of success, error and warning types.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Stack

Stack configuration, disabled by default. Messages will be stacked when the amount is over threshold. Only the latest message is shown in the collapsed stack.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
6.4.0
Promise interface

message provides a promise interface for onClose. The above example will display a new message when the old message is about to close.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Update Message Content

Update message content with unique key.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Enabled:
Threshold:
Hello, Ant Design!
Welcome back!
  • root
    6.0.0
    Message item root element, set background color, border radius, shadow, padding and animation styles
  • wrapper
    6.4.0
    Wrapper element for icon and title, set content layout, gap and alignment styles
  • icon
    6.0.0
    Icon element, set font size, line height and status color styles
  • title
    6.4.0
    Title element, set text color, font size, line height and content display styles
  • list
    6.4.0
    Message list root element, set positioning, z-index, width, scroll area and placement styles
  • listContent
    6.4.0
    Message list content element, set notice layout, gap and height transition styles