useToast()
useToast() 提供全域輕量提示(Toast)的呼叫介面。你可以在任意元件、composable 或非同步回呼中直接呼叫,無需在範本中維護狀態或手動管理顯示邏輯。提示訊息由 SwToast 元件統一渲染,通常掛載在版面配置根節點。
基本用法
四個語義快捷方法
加载中...
const { success, error, warning, info } = useToast()
success('儲存成功')
error('上傳失敗', { title: '檔案錯誤' })
warning('儲存空間不足', { duration: 8000 })
info('新版本已發佈,請重新整理頁面')
使用完整參數
膠囊 vs 卡片兩種形態
加载中...
duration:快關 / 預設 / 常駐
加载中...
透過 add() 方法可傳入完整配置:
const { add } = useToast()
add({
message: '操作成功,資料已更新',
title: '提示',
type: 'success',
duration: 4000, // 4 秒後自動消失,傳 0 則不自動消失
})
回傳值
| 名稱 | 類型 | 說明 |
|---|---|---|
toasts | DeepReadonly<Ref<ToastItem[]>> | 當前所有顯示中的提示訊息列表(唯讀響應式,禁直接 push/splice,請用 add/remove) |
add | (options: ToastOptions) => void | 新增一條提示訊息 |
remove | (id: string) => void | 根據 id 移除指定的提示訊息 |
success | (message: string, opts?) => void | 顯示成功類型提示(綠色) |
error | (message: string, opts?) => void | 顯示錯誤類型提示(紅色) |
warning | (message: string, opts?) => void | 顯示警告類型提示(橙色) |
info | (message: string, opts?) => void | 顯示資訊類型提示(藍色) |
ToastOptions 參數說明
| 參數 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
message | string | ✓ | — | 提示正文內容 |
title | string | — | 提示標題(可選),顯示在正文上方 | |
type | 'success' | 'error' | 'warning' | 'info' | ✓ | — | 提示類型,控制圖示和顏色(add() 無預設,須顯式指定;快捷方法已自動設置) |
duration | number | 3000 | 自動關閉延遲毫秒數,設為 0 則不自動關閉 |
注意事項
- 需要在版面配置中引入
SwToast元件:Toast 訊息由SwToast渲染並管理顯示佇列。請在你的版面配置檔案(如default.vue)中加入<SwToast />,否則呼叫後無任何視覺回饋。 - 快捷方法
success()、error()、warning()、info()均支援第二個參數覆蓋除type之外的所有選項。 toasts是響應式陣列,如需實作自訂 Toast UI,可直接讀取該陣列並結合remove(id)實作完全自訂的渲染。