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 則不自動消失
})

回傳值

名稱類型說明
toastsDeepReadonly<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 參數說明

參數類型必填預設值說明
messagestring✓—提示正文內容
titlestring—提示標題(可選),顯示在正文上方
type'success' | 'error' | 'warning' | 'info'✓—提示類型,控制圖示和顏色(add() 無預設,須顯式指定;快捷方法已自動設置)
durationnumber3000自動關閉延遲毫秒數,設為 0 則不自動關閉

注意事項

  • 需要在版面配置中引入 SwToast 元件:Toast 訊息由 SwToast 渲染並管理顯示佇列。請在你的版面配置檔案(如 default.vue)中加入 <SwToast />,否則呼叫後無任何視覺回饋。
  • 快捷方法 success()、error()、warning()、info() 均支援第二個參數覆蓋除 type 之外的所有選項。
  • toasts 是響應式陣列,如需實作自訂 Toast UI,可直接讀取該陣列並結合 remove(id) 實作完全自訂的渲染。