Vant Toast 輕提示

2022-05-31 13:34 更新

引入

import Vue from 'vue';
import { Toast } from 'vant';

Vue.use(Toast);

代碼演示

文字提示

Toast('提示內(nèi)容');

加載提示

使用Toast.loading方法展示加載提示,通過forbidClick屬性可以禁用背景點(diǎn)擊,通過loadingType屬性可以自定義加載圖標(biāo)類型。

Toast.loading({
  message: '加載中...',
  forbidClick: true
});

// 自定義加載圖標(biāo)
Toast.loading({
  message: '加載中...',
  forbidClick: true,
  loadingType: 'spinner'
});

成功/失敗提示

Toast.success('成功文案');
Toast.fail('失敗文案');

自定義圖標(biāo)

Toast({
  message: '自定義圖標(biāo)',
  icon: 'like-o'
});

Toast({
  message: '展示圖片',
  icon: 'https://img.yzcdn.cn/vant/logo.png'
});

動(dòng)態(tài)更新提示

const toast = Toast.loading({
  duration: 0, // 持續(xù)展示 toast
  forbidClick: true,
  message: '倒計(jì)時(shí) 3 秒'
});

let second = 3;
const timer = setInterval(() => {
  second--;
  if (second) {
    toast.message = `倒計(jì)時(shí) ${second} 秒`;
  } else {
    clearInterval(timer);
    // 手動(dòng)清除 Toast
    Toast.clear();
  }
}, 1000);

組件內(nèi)調(diào)用

引入 Toast 組件后,會(huì)自動(dòng)在 Vue 的 prototype 上掛載 $toast 方法,便于在組件內(nèi)調(diào)用。

export default {
  mounted() {
    this.$toast('提示文案');
  }
}

單例模式

Toast 默認(rèn)采用單例模式,即同一時(shí)間只會(huì)存在一個(gè) Toast,如果需要在同一時(shí)間彈出多個(gè) Toast,可以參考下面的示例

Toast.allowMultiple();

const toast1 = Toast('第一個(gè) Toast');
const toast2 = Toast.success('第二個(gè) Toast');

toast1.clear();
toast2.clear();

修改默認(rèn)配置

通過Toast.setDefaultOptions函數(shù)可以全局修改 Toast 的默認(rèn)配置

// 將所有 Toast 的展示時(shí)長設(shè)置為 2000 毫秒
Toast.setDefaultOptions({ duration: 2000 });

// 將所有 loading Toast 設(shè)置為背景不可點(diǎn)擊 (2.2.10 版本開始支持)
Toast.setDefaultOptions('loading', { forbidClick: true });

// 重置所有 Toast 的默認(rèn)配置
Toast.resetDefaultOptions();

// 重置 loading Toast 的默認(rèn)配置 (2.2.10 版本開始支持)
Toast.resetDefaultOptions('loading');

API

方法

方法名說明參數(shù)返回值
Toast展示提示options | messagetoast 實(shí)例
Toast.loading展示加載提示options | messagetoast 實(shí)例
Toast.success展示成功提示options | messagetoast 實(shí)例
Toast.fail展示失敗提示options | messagetoast 實(shí)例
Toast.clear關(guān)閉提示clearAll: booleanvoid
Toast.allowMultiple允許同時(shí)存在多個(gè) Toast-void
Toast.setDefaultOptions修改默認(rèn)配置,對(duì)所有 Toast 生效。
傳入 type 可以修改指定類型的默認(rèn)配置
type | optionsvoid
Toast.resetDefaultOptions重置默認(rèn)配置,對(duì)所有 Toast 生效。
傳入 type 可以重置指定類型的默認(rèn)配置
typevoid

Options

參數(shù)說明類型默認(rèn)值
type提示類型,可選值為 loading success
fail html
stringtext
position位置,可選值為 top bottomstringmiddle
message文本內(nèi)容,支持通過\n換行string''
icon v2.0.1自定義圖標(biāo),支持傳入 圖標(biāo)名稱 或圖片鏈接string-
iconPrefix v2.0.9圖標(biāo)類名前綴stringvan-icon
overlay v2.2.13是否顯示背景遮罩層booleanfalse
forbidClick是否禁止背景點(diǎn)擊booleanfalse
closeOnClick v2.1.5是否在點(diǎn)擊后關(guān)閉booleanfalse
closeOnClickOverlay v2.2.13是否在點(diǎn)擊遮罩層后關(guān)閉booleanfalse
loadingType加載圖標(biāo)類型, 可選值為 spinnerstringcircular
duration展示時(shí)長(ms),值為 0 時(shí),toast 不會(huì)消失number2000
className自定義類名any-
onOpened完全展示后的回調(diào)函數(shù)Function-
onClose關(guān)閉時(shí)的回調(diào)函數(shù)Function-
transition v2.2.6動(dòng)畫類名,等價(jià)于 transtion 的name屬性stringvan-fade
getContainer指定掛載的節(jié)點(diǎn),用法示例string | () => Elementbody


實(shí)例演示

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)