Notification 通知提醒框

全局展示通知提醒信息。

何时使用

在系统右上角显示通知提醒信息。经常用于以下情况:

  • 较为复杂的通知内容。
  • 带有交互的通知,给出用户下一步的行动点。
  • 系统主动推送。

API

  • notification.success(config)
  • notification.error(config)
  • notification.info(config)
  • notification.warn(config)
  • notification.open(config)
  • notification.close(key: String)

config 参数如下:

参数 说明 类型 默认值
message 通知提醒标题,必选 React.Element or String
description 通知提醒内容,必选 React.Element or String
btn 自定义关闭按钮 React.Element
key 当前通知唯一标志 String
onClose 点击默认关闭按钮时触发的回调函数 Function
duration 默认 4.5 秒后自动关闭,配置为 null 则不自动关闭 Number 4.5

还提供了一个全局配置方法,需要在调用前提前配置,一次有效。

  • notification.config(options)
message.config({
  top: 100
});
参数 说明 类型 默认值
top 消息距离顶部的位置 Number 24px

组件演示

var notification = antd.Notification;

var openNotification = function() {
  notification.open({
    message: "这是标题",
    description: "这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案"
  });
};

React.render(
  <div>
    <button className='ant-btn ant-btn-primary' onClick={openNotification}>打开通知提醒框</button>
  </div>,
document.getElementById('components-notification-demo-basic'));

最简单的用法,五秒后自动关闭。

var notification = antd.Notification;

var openNotificationWithIcon = function(type) {
  return function(){
    notification[type]({
      message: "这是标题",
      description: "这是提示框的文案这是提示框示框的文案这是提示是提示框的文案这是提示框的文案"
    });
  };
};

React.render(<div>
  <button className="ant-btn" onClick={openNotificationWithIcon('success')}>成功</button>
  <button className="ant-btn" onClick={openNotificationWithIcon('info')}>消息</button>
  <button className="ant-btn" onClick={openNotificationWithIcon('warn')}>警告</button>
  <button className="ant-btn" onClick={openNotificationWithIcon('error')}>错误</button>
  </div>
, document.getElementById('components-notification-demo-with-icon'));

通知提醒框左侧有图标。

var notification = antd.Notification;

var close = function(){
  console.log('我被默认的关闭按钮关闭了!');
}

var openNotification = function() {
  var key='open'+Date.now();
  var btnClick = function() {
    // 隐藏提醒框
    notification.close(key);
  };
  var btn = <button className="ant-btn ant-btn-primary ant-btn-sm" onClick={btnClick}>
    自定义关闭按钮并触发回调函数
  </button>;
  notification.open({
    message: "这是标题",
    description: "这是提示框的文案这是提示框示框的文案这是提示是提示框的文案这是提示框的文案",
    btn: btn,
    key: key,
    onClose: close
  });
};

React.render(
  <div>
    <button className="ant-btn ant-btn-primary" onClick={openNotification}>打开通知提醒框</button>
  </div>,
document.getElementById('components-notification-demo-with-btn'));

自定义关闭按钮的样式和文字。

var notification = antd.Notification;

var openNotification = function() {
  var args = {
    message: "这是标题",
    description: "这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案这是提示框的文案",
    duration: 10
  };
  notification.open(args);
};

React.render(
  <button className='ant-btn ant-btn-primary' onClick={openNotification}>打开通知提醒框</button>
, document.getElementById('components-notification-demo-duration'));

自定义通知框自动关闭的延时,默认4.5s,取消自动关闭只要将该值设为 0 即可。

var notification = antd.Notification;

var close = function() {
  console.log("我被默认的关闭按钮关闭了!");
};

var openNotification = function() {
  var args = {
    message: "这是标题",
    description: "这是提示框的文案这是提示框示框的文案这是提示是提示框的文案这是提示框的文案",
    onClose: close
  };
  notification.open(args);
};

React.render(
  <div>
    <button className='ant-btn ant-btn-primary' onClick={openNotification}>打开通知提醒框</button>
  </div>,
document.getElementById('components-notification-demo-onclose'));

点击关闭按钮时触发回调函数。