electron-vite封装UI级的消息提示

embedded/2024/12/22 16:24:21/

说明

Electron + Vite + Vue3 + Element Plus
Electron中写提示有两种方案:

  • 系统级:electron带的dialog相关API
  • UI级:UI框架内部的提示,如ElMessageElMessageBoxElNotification

今天来封装一下UI级别的提示

代码

效果图

在这里插入图片描述

源码

代码封装在hooks中,借鉴了若依:

javascript">// src/hooks/useMessage.js
import { ElMessage, ElMessageBox, ElNotification, ElLoading } from 'element-plus'let loadingInstance;export const useMessage = () => {return {// 消息提示info(content) {ElMessage.info(content)},// 错误消息error(content) {ElMessage.error(content)},// 成功消息success(content) {ElMessage.success(content)},// 警告消息warning(content) {ElMessage.warning(content)},// 弹出提示alert(content) {ElMessageBox.alert(content, '系统提示')},// 错误提示alertError(content) {ElMessageBox.alert(content, '系统提示', { type: 'error' })},// 成功提示alertSuccess(content) {ElMessageBox.alert(content, '系统提示', { type: 'success' })},// 警告提示alertWarning(content) {ElMessageBox.alert(content, '系统提示', { type: 'warning' })},// 通知提示notify(content) {ElNotification.info(content)},// 错误通知notifyError(content) {ElNotification.error(content)},// 成功通知notifySuccess(content) {ElNotification.success(content)},// 警告通知notifyWarning(content) {ElNotification.warning(content)},// 确认窗体confirm(content, tip) {return ElMessageBox.confirm(content, tip ? tip : '系统提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'})},// 删除窗体delConfirm(content, tip) {return ElMessageBox.confirm(content ? content : '是否删除所选中数据?',tip ? tip : '系统提示',{confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'})},// 提交内容prompt(content, tip) {return ElMessageBox.prompt(content, tip, {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'})},// 打开遮罩层loading(content) {loadingInstance = ElLoading.service({lock: true,text: content,background: "rgba(0, 0, 0, 0.7)",})},// 关闭遮罩层closeLoading() {loadingInstance.close();}}
}
用法

vue组件中直接引用:

javascript">import { useMessage } from "@/hooks/useMessage";
const message = useMessage()
message.confirm('马云想你转账500万,是否接收?')

http://www.ppmy.cn/embedded/99533.html

相关文章

响应式 Web 设计:纯 HTML 和 CSS 的实现技巧

响应式 Web 设计:纯 HTML 和 CSS 的实现技巧 引言 随着移动设备的普及,响应式 Web 设计(Responsive Web Design, RWD)已成为现代网页开发的标准。响应式设计的目标是使网页在不同设备上(如手机、平板和桌面&#xff…

集合及数据结构第八节(上)————栈(Stack)、栈的模拟实现和应用

系列文章目录 集合及数据结构第八节(上)————栈(Stack)、栈的模拟实现和应用 栈(Stack)、栈的模拟实现和应用(上) 栈的概念栈的使用栈的模拟实现栈的应用场景栈、虚拟机栈、栈…

Windows—TCP编程

服务端骨架&#xff1a; #include <iostream> #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib") #include <windows.h>int main() {WORD wVersionRequested MAKEWORD(2, 2);WSADATA WSAData;WSAStartup(wVersionRequested, &WSADat…

ffmpeg6.1集成Plus-OpenGL-Patch滤镜

可参考上一篇文章。ffmpeg6.1集成ffmpeg-gl-transition滤镜-CSDN博客 安装思路大致相同&#xff0c; 因为 Plus-OpenGL-Patch也是基于 ffmpeg 4.x 进行开发的&#xff0c;所以在高版本上安装会有很多报错。 这是我安装后的示例&#xff0c;需要安装教程或者改代码可私信我。 …

Linux 命令管道介绍

今天给伙伴们分享一下Linux 命令管道&#xff0c;希望看了有所收获。 我是公众号「想吃西红柿」「云原生运维实战派」作者&#xff0c;对云原生运维感兴趣&#xff0c;也保持时刻学习&#xff0c;后续会分享工作中用到的运维技术&#xff0c;在运维的路上得到支持和共同进步&am…

Android T adout replace bootanimation

idea_1:use ota replace bootanimation.zip idea_2:创建一个新的分区,(用于存放bootanimation.zip)可以让上层读写. idea_3:su cp 前提条件&#xff1a;userdebug版本, 默认关闭selLinux,可root //df 查看设备分区情况,有些分区系统是不让去写的 adb shell c4_t:/ $ df Fil…

XSS之xss game

链接如下: Challenges 1.Ma Spaghet! 源码; <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebody") " Toucha Ma Spaghet!" </…

Mysql双主双从

双主双从 1.安装Mysql1.1 查看linux版本1.2 下载Mysql安装包1.3 上传并解压1.4 安装Mysql1.5 编辑端口号1.6 Mysql启动命令1.7 更新密码 2.搭建Mysql主从复制2.1 搭建Master主服务器2.1.1 修改mysql配置文件2.1.2 重启Mysql服务2.1.3 创建Slave用户, 并授权2.1.4 查看主服务器当…