Notify 消息提示

介绍

在页面顶部展示消息提示,支持函数调用和组件调用两种方式。

函数调用

Notify 是一个函数,调用后会直接在页面中弹出相应的消息提示。

  1. import { Notify } from 'vant';
  2. Notify('通知内容');

组件调用

通过组件调用 Notify 时,可以通过下面的方式进行注册(从 2.8.5 版本开始支持):

  1. import { createApp } from 'vue';
  2. import { Notify } from 'vant';
  3. // 全局注册
  4. const app = createApp();
  5. app.use(Notify);
  6. // 局部注册
  7. export default {
  8. components: {
  9. [Notify.Component.name]: Notify.Component,
  10. },
  11. };

代码演示

基础用法

  1. Notify('通知内容');

通知类型

支持 primarysuccesswarningdanger 四种通知类型,默认为 danger

  1. // 主要通知
  2. Notify({ type: 'primary', message: '通知内容' });
  3. // 成功通知
  4. Notify({ type: 'success', message: '通知内容' });
  5. // 危险通知
  6. Notify({ type: 'danger', message: '通知内容' });
  7. // 警告通知
  8. Notify({ type: 'warning', message: '通知内容' });

自定义通知

自定义消息通知的颜色和展示时长。

  1. Notify({
  2. message: '自定义颜色',
  3. color: '#ad0000',
  4. background: '#ffe1e1',
  5. });
  6. Notify({
  7. message: '自定义时长',
  8. duration: 1000,
  9. });

全局方法

通过 app.use 注册 Notify 组件后,会自动在 app 的所有子组件上挂载 $notify 方法,便于在组件内调用。

  1. export default {
  2. mounted() {
  3. this.$notify('提示文案');
  4. },
  5. };

组件调用

如果需要在 Notify 内嵌入组件或其他自定义内容,可以使用组件调用的方式。

  1. <van-button type="primary" text="组件调用" @click="showNotify" />
  2. <van-notify v-model:show="show" type="success">
  3. <van-icon name="bell" style="margin-right: 4px;" />
  4. <span>通知内容</span>
  5. </van-notify>
  1. export default {
  2. data() {
  3. return {
  4. show: false,
  5. };
  6. },
  7. methods: {
  8. showNotify() {
  9. this.show = true;
  10. setTimeout(() => {
  11. this.show = false;
  12. }, 2000);
  13. },
  14. },
  15. };

API

方法

| 方法名 | 说明 | 参数 | 返回值 | | —- | —- | —- | —- | —- | | Notify | 展示提示 | options | message | notify 实例 | | Notify.clear | 关闭提示 | - | void | | Notify.setDefaultOptions | 修改默认配置,对所有 Notify 生效 | options | void | | Notify.resetDefaultOptions | 重置默认配置,对所有 Notify 生效 | - | void |

Options

参数说明类型默认值
type类型,可选值为 primary success warningstringdanger
message展示文案,支持通过\n换行string-
duration展示时长(ms),值为 0 时,notify 不会消失number | string3000
color字体颜色stringwhite
background背景颜色string-
className自定义类名any-
onClick点击时的回调函数Function-
onOpened完全展示后的回调函数Function-
onClose关闭时的回调函数Function-

样式变量

组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考主题定制

名称默认值描述
@notify-text-color@white-
@notify-padding@padding-xs @padding-md-
@notify-font-size@font-size-md-
@notify-line-height@line-height-md-
@notify-primary-background-color@blue-
@notify-success-background-color@green-
@notify-danger-background-color@red-
@notify-warning-background-color@orange-

Notify 消息通知 - 图1