element/examples/docs/notification.md
2016-08-25 12:29:51 +08:00

5.7 KiB
Raw Blame History

基本用法

::: demo Notification 组件提供通知功能Element 注册了 $notify 方法,接收一个 options 字面量参数,在最简单的情况下,你可以设置 title 字段和 message 字段,用于设置通知的标题和正文。

<template>
  <el-button
    plain
    @click.native="open">
    点击展示 Notification
  </el-button>
</template>

<script>
  export default {
    methods: {
      open() {
        this.$notify({
          title: '标题名称',
          message: '这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案'
        });
      }
    }
  }
</script>

:::

带有 icon

::: demo Element 为 Notification 组件准备了四种通知类型:success, warning, info, error。通过 type 字段来设置,除此以外的值将被忽略。

<template>
  <el-button
    plain
    @click.native="open2">
    成功
  </el-button>
  <el-button
    plain
    @click.native="open3">
    警告
  </el-button>
  <el-button
    plain
    @click.native="open4">
    消息
  </el-button>
  <el-button
    plain
    @click.native="open5">
    错误
  </el-button>
</template>

<script>
  export default {
    methods: {
      open2() {
        this.$notify({
          title: '成功',
          message: '这是一条成功的提示消息',
          type: 'success'
        });
      },

      open3() {
        this.$notify({
          title: '警告',
          message: '这是一条警告的提示消息',
          type: 'warning'
        });
      },

      open4() {
        this.$notify({
          title: '消息',
          message: '这是一条消息的提示消息',
          type: 'info'
        });
      },

      open5() {
        this.$notify({
          title: '错误',
          message: '这是一条错误的提示消息',
          type: 'error'
        });
      }
    }
  }
</script>

:::

不会自动关闭

::: demo 默认情况下,经过一段时间后 Notification 组件会自动关闭,但是通过设置 duration,可以控制关闭的时间间隔,特别的是,如果设置为 0,则不会自动关闭。注意:duration 接收一个 Number,单位为毫秒,默认为 4500

<template>
  <el-button
    plain
    @click.native="open6">
    不会自动关闭的 Notification
  </el-button>
</template>

<script>
  export default {
    methods: {
      open6() {
        this.$notify({
          title: '提示',
          message: '这是一条不会自动关闭的消息',
          duration: 0
        });
      }
    }
  }
</script>

:::

回调函数

::: demo Element 为关闭操作设置了回调函数,在关闭时会触发 onClose,你可以通过设置 onClose 参数来处理后续操作,它是一个 Function。本例会在控制台输出Notification 已关闭。

<template>
  <el-button
    plain
    @click.native="open7">
    带有回调函数的 Notification
  </el-button>
</template>

<script>
  export default {
    methods: {
      open7() {
        this.$notify({
          title: '提示',
          message: '这是一条带有回调函数的消息',
          onClose: this.onClose
        });
      },

      onClose() {
        console.log('Notification 已关闭');
      }
    }
  }
</script>

:::

全局方法

Element 为 Vue.prototype 添加了全局方法 $notify。因此在 vue instance 中可以采用本页面中的方式调用 Notification

单独引用

单独引入 Notification

import { Notification } from 'element-ui';

此时调用方法为 Notification(options)

Options

参数 说明 类型 可选值 默认值
title 标题 string
message 说明文字 string
type 主题样式,如果不在可选值内将被忽略 string 'success', 'warning', 'info', 'error'
duration 显示时间, 毫秒。设为 0 则不会自动关闭 number 4500
onClose 关闭时的回调函数 function