使用通知向用户传达醒目的消息。

通知组件

设计指南

通知显示简洁的消息。它还可以为用户提供选项,例如查看已发布的帖子或更新设置,并且需要用户采取行动才能关闭。

使用通知来传达重要的但不一定需要采取行动的内容——即使用户不选择对通知采取行动,他们也可以继续使用产品。它们比模态框的干扰性更小。

用法

通知显示在屏幕顶部,位于任何固定在页面上方的工具栏下方。它们是持久且非模态的。由于它们不会覆盖内容,用户可以忽略或关闭它们,并选择何时与之交互。

通知采用颜色编码以指示正在传达的消息类型:

  • 信息性通知默认情况下为蓝色。
  • 成功通知为绿色。
  • 警告通知为黄色。
  • 错误通知为红色。

如果通知中包含图标,则图标应采用颜色编码以匹配通知状态。

宜与忌

宜当您想要传达中等重要性的消息时,使用通知。

用于更新帖子的成功通知


忌不要将通知用于需要用户立即注意和行动的消息。请改用模态框。

需要立即行动的通知


宜将通知显示在屏幕顶部,位于任何工具栏下方。

用于发布帖子的成功通知


忌不要在工具栏上方显示通知。

位于编辑器工具栏上方的成功通知


宜使用颜色来指示正在传达的消息类型。

使用红色的错误通知


忌不要应用警告、成功或错误之外的任何颜色。

使用紫色的错误通知

开发指南

用法

要显示纯文本通知,请将字符串传递给 Notice:

import { Notice } from '@wordpress/components';

const MyNotice = () => (
    <Notice status="error">An unknown error occurred.</Notice>
);

对于更复杂的标记,您可以传递任何 JSX 元素:

import { Notice } from '@wordpress/components';

const MyNotice = () => (
    <Notice status="error">
        <p>
            An error occurred: <code>{ errorDetails }</code>.
        </p>
    </Notice>
);

属性

以下属性用于控制组件的行为。

children: ReactNode

通知显示的文本。除非提供 spokenMessage 作为替代消息,否则也用作辅助技术的朗读消息。

  • 必填:是

spokenMessage: ReactNode

用于提供自定义朗读消息,以代替 children 默认值。

  • 必填:否
  • 默认值:children

status: ‘warning’ | ‘success’ | ‘error’ | ‘info’

确定通知的颜色:warning(黄色)、success(绿色)、error(红色)或 'info'。默认情况下 'info' 将为蓝色。

  • 必填:否
  • 默认值:info

onRemove: () => void

用于关闭/移除通知的函数。

  • 必填:否
  • 默认值:noop

politeness: ‘polite’ | ‘assertive’

通知朗读消息的礼貌级别。应作为 aria-live 属性值的有效选项之一 提供。

  • 'assertive' 的值应用于重要且通常具有时间敏感性的信息。它将中断屏幕阅读器当前正在播报的任何其他内容。
  • 'polite' 的值应用于建议性信息。它不应中断屏幕阅读器当前正在播报的内容(“语音队列”)或中断当前任务。

请注意,此值应被视为建议;辅助技术可能会根据内部启发式方法覆盖它。

  • 必填:否
  • 默认值:'assertive' 或 'polite',取决于通知状态。

isDismissible: boolean

通知是否可关闭

  • 必填:否
  • 默认值:true

onDismiss : () => void

onRemove 的已弃用替代方案。保留此属性是为了兼容性原因,但应避免使用。

  • 必填:否
  • 默认值:noop

actions: Array<NoticeAction>.

通知操作数组。每个成员对象应包含:

  • label:string 包含按钮/链接的文本
  • url:string(可选)操作按钮的 href URL。如果提供,操作将呈现为锚标签。
  • onClick:( event: SyntheticEvent ) => void(可选)点击时调用的函数。可与 url 一起使用。
  • disabled:boolean(可选)操作按钮是否被禁用。
  • className:string(可选)用于向按钮样式添加自定义类。
  • noDefaultClasses:boolean(可选)值为 true 将移除所有默认样式。
  • variant:'primary' | 'secondary' | 'link'(可选)您可以通过传递 primary 值来表示通知的主要按钮操作。

如果仅提供 onClick,则操作按钮的默认 variant 为 'secondary';如果提供 url,则为 'link'。

相关组件

  • 若要创建需要行动的更醒目的消息,请使用模态框。
  • 对于低优先级、非中断性的消息,请使用 Snackbar。