logoAnt Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
YouMindTRACTIANLobeHub
6.3.7
  • Components Overview
  • Changelog
    v6.3.7
  • 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
contributors
    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
    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 0number1.5
    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?

    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