Vant3 Notify 消息提示

2021-09-14 11:54 更新

介紹

在頁面頂部展示消息提示,支持函數(shù)調(diào)用和組件調(diào)用兩種方式。

實(shí)例演示

函數(shù)調(diào)用

Notify 是一個函數(shù),調(diào)用后會直接在頁面中彈出相應(yīng)的消息提示。

import { Notify } from 'vant';

Notify('通知內(nèi)容');

組件調(diào)用

通過組件調(diào)用 Notify 時,可以通過下面的方式進(jìn)行注冊:

import { createApp } from 'vue';
import { Notify } from 'vant';

// 全局注冊
const app = createApp();
app.use(Notify);

// 局部注冊
export default {
  components: {
    [Notify.Component.name]: Notify.Component,
  },
};

代碼演示

基礎(chǔ)用法

Notify('通知內(nèi)容');

通知類型

支持 primary、success、warning、danger 四種通知類型,默認(rèn)為 danger。

// 主要通知
Notify({ type: 'primary', message: '通知內(nèi)容' });

// 成功通知
Notify({ type: 'success', message: '通知內(nèi)容' });

// 危險(xiǎn)通知
Notify({ type: 'danger', message: '通知內(nèi)容' });

// 警告通知
Notify({ type: 'warning', message: '通知內(nèi)容' });

自定義通知

自定義消息通知的顏色和展示時長。

Notify({
  message: '自定義顏色',
  color: '#ad0000',
  background: '#ffe1e1',
});

Notify({
  message: '自定義時長',
  duration: 1000,
});

全局方法

通過 app.use 全局注冊 Notify 組件后,會自動在 app 的所有子組件上掛載 $notify 方法,便于在組件內(nèi)調(diào)用。

export default {
  mounted() {
    this.$notify('提示文案');
  },
};
Tips: 由于 setup 選項(xiàng)中無法訪問 this,因此不能使用上述方式,請通過 import 引入。

組件調(diào)用

如果需要在 Notify 內(nèi)嵌入組件或其他自定義內(nèi)容,可以使用組件調(diào)用的方式。

<van-button type="primary" text="組件調(diào)用" @click="showNotify" />
<van-notify v-model:show="show" type="success">
  <van-icon name="bell" style="margin-right: 4px;" />
  <span>通知內(nèi)容</span>
</van-notify>
import { ref } from 'vue';

export default {
  setup() {
    const show = ref(false);

    const showNotify = () => {
      show.value = true;
      setTimeout(() => {
        show.value = false;
      }, 2000);
    };

    return {
      show,
      showNotify,
    };
  },
};

API

方法

方法名 說明 參數(shù) 返回值
Notify 展示提示 options | message notify 實(shí)例
Notify.clear 關(guān)閉提示 - void
Notify.setDefaultOptions 修改默認(rèn)配置,對所有 Notify 生效 options void
Notify.resetDefaultOptions 重置默認(rèn)配置,對所有 Notify 生效 - void

Options

參數(shù) 說明 類型 默認(rèn)值
type 類型,可選值為 primary success warning string danger
message 展示文案,支持通過\n換行 string -
duration 展示時長(ms),值為 0 時,notify 不會消失 number | string 3000
color 字體顏色 string white
background 背景顏色 string -
className 自定義類名 string | Array | object -
lockScroll v3.0.7 是否鎖定背景滾動 boolean false
onClick 點(diǎn)擊時的回調(diào)函數(shù) (event: MouseEvent): void -
onOpened 完全展示后的回調(diào)函數(shù) () => void -
onClose 關(guān)閉時的回調(diào)函數(shù) () => void -

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請參考 ConfigProvider 組件。

名稱 默認(rèn)值 描述
--van-notify-text-color var(--van-white) -
--van-notify-padding var(--van-padding-xs) var(--van-padding-md) -
--van-notify-font-size var(--van-font-size-md) -
--van-notify-line-height var(--van-line-height-md) -
--van-notify-primary-background-color var(--van-primary-color) -
--van-notify-success-background-color var(--van-success-color) -
--van-notify-danger-background-color var(--van-danger-color) -
--van-notify-warning-background-color var(--van-warning-color) -


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號