Skip to content

CyberNotification 消息提示(待完善修复问题)

消息提示组件提供了具有未来感的通知系统,适合在赛博朋克风格界面中展示各类通知信息。

基本用法

vue
<template>
  <button @click="showNotification">显示通知</button>
</template>

<script setup>
import { ref, onMounted } from 'vue';

const notificationRef = ref(null);

onMounted(() => {
  // 获取组件实例
  notificationRef.value = document.querySelector('.cyber-notification-container').__vueParentComponent.ctx;
});

const showNotification = () => {
  notificationRef.value.info({
    title: '信息通知',
    message: '这是一条信息通知',
    duration: 3000
  });
};
</script>

不同类型

vue
<script setup>
// 信息通知
notificationRef.value.info({
  title: '信息通知',
  message: '这是一条信息通知'
});

// 成功通知
notificationRef.value.success({
  title: '成功通知',
  message: '操作已成功完成'
});

// 警告通知
notificationRef.value.warning({
  title: '警告通知',
  message: '请注意可能的风险'
});

// 错误通知
notificationRef.value.error({
  title: '错误通知',
  message: '操作失败,请重试'
});
</script>

不同位置

vue
<template>
  <cyber-notification position="top-right" />
  <cyber-notification position="top-left" />
  <cyber-notification position="bottom-right" />
  <cyber-notification position="bottom-left" />
  <cyber-notification position="center" />
</template>

不同效果

vue
<script setup>
notificationRef.value.info({
  title: '全息效果',
  message: '这是全息效果通知',
  effect: 'hologram'
});

notificationRef.value.info({
  title: '故障效果',
  message: '这是故障效果通知',
  effect: 'glitch'
});

notificationRef.value.info({
  title: '电路效果',
  message: '这是电路效果通知',
  effect: 'circuit'
});
</script>

自定义持续时间

vue
<script setup>
// 持续显示(不会自动关闭)
notificationRef.value.info({
  title: '持续通知',
  message: '这条通知不会自动关闭',
  duration: 0
});

// 短暂显示
notificationRef.value.info({
  title: '短暂通知',
  message: '这条通知将在2秒后关闭',
  duration: 2000
});
</script>

带操作按钮

vue
<script setup>
notificationRef.value.info({
  title: '带操作按钮',
  message: '这条通知包含操作按钮',
  actions: [
    {
      text: '确认',
      callback: () => {
        console.log('点击了确认');
      }
    },
    {
      text: '取消',
      callback: () => {
        console.log('点击了取消');
      }
    }
  ]
});
</script>

属性

属性名说明类型可选值默认值
position通知框位置stringtop-right / top-left / bottom-right / bottom-left / centertop-right
maxCount最大通知数量number10
duration默认显示时间(毫秒)number4500
effect默认效果stringglitch / hologram / circuitglitch

方法

方法名说明参数
info显示信息通知options
success显示成功通知options
warning显示警告通知options
error显示错误通知options
create创建自定义通知options
close关闭指定通知id
clearAll清除所有通知

通知选项

选项名说明类型可选值默认值
title通知标题string
message通知内容string
type通知类型stringinfo / success / warning / errorinfo
duration显示时间(毫秒),设为0则不会自动关闭number同组件的duration属性
showClose是否显示关闭按钮booleantrue
showIcon是否显示图标booleantrue
actions操作按钮数组Array<{text: string, callback: Function}>[]
effect通知效果stringglitch / hologram / circuit同组件的effect属性
onClose关闭时的回调函数Function

事件

事件名说明回调参数
close通知关闭时触发id: number

Relcased under the Mit Lincense.