デザインガイドライン

スナックバーは、短いメッセージを表示し、小さな遅延の後に消去されます。また、ユーザーにオプションを提供することもできます。たとえば、公開された投稿を表示することですが、これらのオプションはUIの他の場所でも利用可能であるべきです。

開発ガイドライン

使用法

プレーンなスナックバーを表示するには、メッセージを children プロパティとして渡します:

  1. const MySnackbarNotice = () => (
  2. <Snackbar>Post published successfully.</Snackbar>
  3. );

より複雑なマークアップの場合は、任意のJSX要素を渡すことができます:

  1. const MySnackbarNotice = () => (
  2. <Snackbar>
  3. <p>
  4. An error occurred: <code>{ errorDetails }</code>.
  5. </p>
  6. </Snackbar>
  7. );

プロパティ

以下のプロパティは、コンポーネントの表示を制御するために使用されます。

actions: NoticeAction[]

アクションオブジェクトの配列です。各メンバーオブジェクトは、label と、url リンク文字列または onClick コールバック関数のいずれかを含む必要があります。

  • 必須: いいえ
  • デフォルト: []

children: string

通知の表示メッセージです。また、代替メッセージとして spokenMessage が提供されない限り、支援技術のための音声メッセージとしても使用されます。

  • 必須: はい

explicitDismiss: boolean

スナックバーを閉じるためにユーザーのアクションを必要とするかどうかを示します。デフォルトでは、ユーザーの操作なしでタイムアウトで閉じられます。

  • 必須: いいえ
  • デフォルト: false

icon: ReactNode

スナックバーに表示するアイコンです。

  • 必須: いいえ
  • デフォルト: null

listRef: MutableRefObject< HTMLDivElement | null >

スナックバーを含むリストへの参照です。

  • 必須: いいえ

onDismiss: () => void

スナックバーが閉じられたときに実行されるコールバックです。これは、UIからスナックバーを削除するために呼び出す関数である onRemove とは異なります。

  • 必須: いいえ

onRemove: () => void

通知を閉じるときに呼び出される関数です。

  • 必須: いいえ

politeness: ‘polite’ | ‘assertive’

通知の音声メッセージの丁寧さのレベルです。aria-live 属性値の有効なオプションの1つとして提供されるべきです。この値は提案として考慮されるべきであり、支援技術は内部のヒューリスティックに基づいてこれを上書きする場合があります。

'assertive' の値は、重要で通常は時間に敏感な情報に使用されます。この値は、その瞬間に画面リーダーが発表している他のすべてを中断します。

'polite' の値は、助言情報に使用されます。この値は、その瞬間に画面リーダーが発表している内容(「スピーチキュー」)を中断したり、現在のタスクを中断したりしてはいけません。

  • 必須: いいえ
  • デフォルト: 'polite'

spokenMessage: string

カスタム音声メッセージを提供するために使用されます。

  • 必須: いいえ
  • デフォルト: children

関連コンポーネント

  • より高いレベルの注意を必要とする目立つメッセージを作成するには、Noticeを使用してください。