MDUI文件
複製 llms.txt 連結複製 llms-full.txt 連結以 Markdown 格式檢視此頁與 ChatGPT 討論此頁內容與 ChatGPT 討論專案完整文件
預設顏色
自選顏色
從桌布擷取顏色
請選擇一張桌布
開發指南
AI 輔助開發
樣式
與框架整合
元件
Avatar 頭像Badge 徽章BottomAppBar 底部應用程式列Button 按鈕ButtonIcon 圖示按鈕Card 卡片Checkbox 核取方塊Chip 標籤CircularProgress 環形進度條Collapse 收合區塊Dialog 對話框Divider 分隔線Dropdown 下拉元件Fab 浮動動作按鈕Icon 圖示Layout 版面配置LinearProgress 線性進度條List 清單Menu 選單NavigationBar 底部導覽列NavigationDrawer 導覽抽屜NavigationRail 側邊導覽列Radio 單選按鈕RangeSlider 範圍滑桿Select 選擇框SegmentedButton 分段按鈕Slider 滑桿Snackbar 消息條Switch 切換開關Tabs 分頁TextField 文字欄位Tooltip 工具提示TopAppBar 頂部應用程式列
函式
獨立程式庫

Snackbar消息條

消息條元件用來在頁面中顯示簡短的應用程式狀態訊息。

除了直接使用該元件外,mdui 還提供了一個 mdui.snackbar 函式,以簡化 Snackbar 元件的使用。

使用方法

按需引入元件:

import 'mdui/components/snackbar.js';

按需引入元件的 TypeScript 型別:

import type { Snackbar } from 'mdui/components/snackbar.js';

使用範例:

Photo archived 開啟 Snackbar
<mdui-snackbar class="example-snackbar">Photo archived</mdui-snackbar>

<mdui-button>開啟 Snackbar</mdui-button>

<script>
  const snackbar = document.querySelector(".example-snackbar");
  const openButton = snackbar.nextElementSibling;

  openButton.addEventListener("click", () => snackbar.open = true);
</script>

範例

位置

透過 placement 屬性,你可以設定 Snackbar 的顯示位置。

操作按鈕

你可以使用 action 屬性在 Snackbar 的右側加上一個操作按鈕,並透過該屬性指定按鈕的文字。點擊操作按鈕會觸發 action-click 事件。如果你希望操作按鈕顯示為載入中狀態,可以加上 action-loading 屬性。

你也可以透過 action slot 在 Snackbar 的右側加入自訂元素。

可關閉

加上 closeable 屬性後,Snackbar 的右側會出現一個關閉按鈕。點擊該按鈕會關閉 Snackbar,並觸發 close 事件。

可以透過 close-button slot 來自訂關閉按鈕的元素。

透過設定 close-icon 屬性,你可以修改預設關閉按鈕中的 Material Icons 圖示。也可以透過 close-icon slot 來自訂關閉按鈕中的圖示元素。

文字行數

預設情況下,訊息文字沒有行數限制。你可以透過 message-line 屬性來限制文字行數,最多可以設定為 2 行。

自動關閉延遲

可以使用 auto-close-delay 屬性來設定自動關閉的延遲,單位為毫秒。預設值為 5000 毫秒。

點擊外部區域關閉

加上 close-on-outside-click 屬性,你可以設定在點擊 Snackbar 外部區域時關閉 Snackbar。

API

屬性

HTML 屬性JavaScript 屬性Reflect型別預設值
openopenbooleanfalse

是否顯示 Snackbar

placementplacement'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end''bottom'

Snackbar 的顯示位置。預設為 bottom。可選值包括:

  • top:頂部置中
  • top-start:頂部左對齊
  • top-end:頂部右對齊
  • bottom:底部置中
  • bottom-start:底部左對齊
  • bottom-end:底部右對齊
actionactionstring-

操作按鈕的文字。也可以透過 slot="action" 設定操作按鈕

action-loadingactionLoadingbooleanfalse

操作按鈕是否處於載入中狀態

closeablecloseablebooleanfalse

是否在右側顯示關閉按鈕

close-iconcloseIconstring-

關閉按鈕的 Material Icons 圖示名。也可以透過 slot="close-icon" 設定

message-linemessageLine1 | 2-

訊息文字的最大顯示行數。預設不限制。可選值包括:

  • 1:最多顯示一行
  • 2:最多顯示兩行
auto-close-delayautoCloseDelaynumber5000

自動關閉的延遲時間(單位:毫秒)。設定為 0 則不自動關閉。預設為 5000 毫秒

close-on-outside-clickcloseOnOutsideClickbooleanfalse

點擊或觸碰 Snackbar 以外的區域時,是否關閉 Snackbar

事件

名稱
open

Snackbar 開始顯示時觸發。可透過呼叫 event.preventDefault() 阻止 Snackbar 顯示

opened

Snackbar 顯示動畫完成時,事件被觸發

close

Snackbar 開始隱藏時觸發。可透過呼叫 event.preventDefault() 阻止 Snackbar 關閉

closed

Snackbar 隱藏動畫完成時,事件被觸發

action-click

點擊操作按鈕時觸發

Slots

名稱
預設

Snackbar 的訊息文字內容

action

右側的操作按鈕

close-button

右側的關閉按鈕。必須設定 closeable 屬性為 true 才會顯示

close-icon

關閉按鈕中的圖示

CSS Parts

名稱
message

訊息文字

action

操作按鈕

close-button

關閉按鈕

close-icon

關閉按鈕中的圖示

CSS 自訂屬性

名稱
--shape-corner

元件的圓角大小。可以指定一個具體的像素值;但更推薦引用設計令牌

--z-index

元件的 CSS z-index

本頁目錄