Notification 通知提醒


在页面的右上角全局显示通知提醒信息,跟 Message 有点类似。常用于以下场景:

  • 较复杂的通知内容
  • 有交互的通知
  • 系统的推送我们在 Vue.prototype 中添加了全局对象 $Notify,我们可以直接通过 this.$Notify 操作实例

  • this.$Notify(config)

  • this.$Notify.success(config)
  • this.$Notify.error(config)
  • this.$Notify.warning(config)
  • this.$Notify.info(config)实例接收如下参数:

  • type - 通知提醒的状态

  • title - 消息标题
  • message - 消息内容
  • duration - 自动关闭的延时
  • showClose - 是否显示关闭按钮
  • icon - 自定义消息提醒的图标
  • onClose - 关闭的回调函数

基本用法

仅显示标题,或者标题和内容,默认 4s 后自动关闭。通知框默认显示关闭按钮

Notification通知提醒 - 图1

  1. <p class="demo-desc">this.$Notify({ title: '这里是标题' })</p>
  2. <at-button @click="open">打开通知(仅标题)</at-button>
  3. <p class="demo-desc">this.$Notify({ title: '这里是标题', message: '这里是内容,文案~~~' })</p>
  4. <at-button @click="open2">打开通知(标题和内容)</at-button>
  5. <script>
  6. export default {
  7. methods: {
  8. open () {
  9. this.$Notify({
  10. title: '这里是标题'
  11. })
  12. },
  13. open2 () {
  14. this.$Notify({
  15. title: '这里是标题',
  16. message: '这里是内容,文案~~~'
  17. })
  18. }
  19. }
  20. }
  21. </script>

自定义自动关闭的延时

默认是 4s 自动关闭,如需手动关闭,则设置延时为 0

Notification通知提醒 - 图2

  1. <p class="demo-desc">this.$Notify({ title: '这里是标题', message: '这里是内容,文案~~~', duration: 2000 })</p>
  2. <at-button @click="open3">两秒关闭</at-button>
  3. <p class="demo-desc">this.$Notify({ title: '这里是标题', message: '这里是内容,文案~~~', duration: 0 })</p>
  4. <at-button @click="open4">手动关闭</at-button>
  5. <script>
  6. export default {
  7. methods: {
  8. open3 () {
  9. this.$Notify({
  10. title: '这里是标题',
  11. message: '这里是内容,文案~~~',
  12. duration: 2000
  13. })
  14. },
  15. open4 () {
  16. this.$Notify({
  17. title: '这里是标题',
  18. message: '这里是内容,文案~~~',
  19. duration: 0
  20. })
  21. }
  22. }
  23. }
  24. </script>

不同类型的通知提醒

设置参数 type 定义不同类型的通知提醒,默认支持四种类型:successErrorWarningInfo

Notification通知提醒 - 图3

  1. <at-button @click="open5('success')">Success</at-button>
  2. <at-button @click="open5('error')">Error</at-button>
  3. <at-button @click="open5('warning')">Warning</at-button>
  4. <at-button @click="open5('info')">Info</at-button>
  5. <script>
  6. export default {
  7. methods: {
  8. open5 (type) {
  9. this.$Notify({
  10. title: '这里是标题',
  11. message: '这里是内容,文案~~~',
  12. type: type
  13. })
  14. }
  15. }
  16. }
  17. </script>

使用 this.$Notify.success

Notification通知提醒 - 图4

  1. <p class="demo-desc">this.$Notify.success({ title: '这里是标题', message: '这里是内容,文案~~~' })</p>
  2. <at-button @click="open6">Success</at-button>
  3. <script>
  4. export default {
  5. methods: {
  6. open6 () {
  7. this.$Notify.success({
  8. title: '这里是标题',
  9. message: '这里是内容,文案~~~'
  10. })
  11. }
  12. }
  13. }
  14. </script>

使用全局点击关闭

默认是点击「关闭按钮」关闭通知提醒框,也可以使用全局点击模式,即点击「通知提醒框」关闭。设置方法是传入 showClose: false

Notification通知提醒 - 图5

  1. <at-button @click="open7">全局点击关闭</at-button>
  2. <script>
  3. export default {
  4. methods: {
  5. open7 () {
  6. this.$Notify({
  7. title: '这里是标题',
  8. message: '这里是内容,文案~~~',
  9. showClose: false
  10. })
  11. }
  12. }
  13. }
  14. </script>

Notification 参数

参数说明类型可选值默认值
type通知提醒的类别Stringsuccess, error, warning, infoinfo
title必填,通知的标题String--
message通知的内容String--
duration自动关闭的延时,单位为毫秒Number-4000
showClose是否显示关闭按钮Boolean-true
icon自定义消息提醒的 ICONString--
onClose关闭通知提醒框时的回调函数Function--