From 57559725cda8dd562b95e6665e121c6082d857c8 Mon Sep 17 00:00:00 2001 From: "WANGFAN\\wangf" <15871339963@163.com> Date: Mon, 7 Apr 2025 15:18:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84arcoMessage=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/globals/index.ts | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/src/globals/index.ts b/src/globals/index.ts index 0fd7550..10cea55 100644 --- a/src/globals/index.ts +++ b/src/globals/index.ts @@ -23,35 +23,54 @@ export const dictFilter = (code: string) => { }; /** + * * Message提示框 - * @param type 提示类型 - * @param text 提示文字 + * @param {string} type 提示框类型 + * @param {string} content 提示框内容 + * @param {boolean} closable 是否可关闭 + * @param {string} position 提示框位置 + * @param {any} icon 提示框图标 */ -export const arcoMessage = (type: string, text: string) => { +export const arcoMessage = (type: string, content: string, closable: boolean = false, position: string = "top", icon?: any) => { + interface ArcoMessage { + content: string; + closable?: boolean; + position?: string; + icon?: any; + } + let message: ArcoMessage = { + content, + closable, + position + }; + // icon必须是一个组件,例如:import { IconFaceSmileFill } from '@arco-design/web-vue/es/icon'; + if (icon) { + message.icon = () => h(icon); + } switch (type) { case "info": - Message.info(text); + Message.info(message); break; case "success": - Message.success(text); + Message.success(message); break; case "warning": - Message.warning(text); + Message.warning(message); break; case "error": - Message.error(text); + Message.error(message); break; case "loading": - Message.loading(text); + Message.loading(message); break; case "normal": - Message.normal(text); + Message.normal(message); break; case "clear": - Message.clear(text); + Message.clear(message); break; default: - Message.info(text); + Message.info(message); break; } };