diff --git a/src/components/common/Message/index.vue b/src/components/common/Message/index.vue
index 3898e50..9d50d34 100644
--- a/src/components/common/Message/index.vue
+++ b/src/components/common/Message/index.vue
@@ -47,7 +47,7 @@ const props = defineProps({
*/
duration: {
type: Number,
- default: 3, // 秒
+ default: 30, // 秒
validator: (v: number) => {
return +v > 0;
},
@@ -80,4 +80,37 @@ onBeforeUnmount(() => {
});
-
+
diff --git a/src/components/common/Message/instance.ts b/src/components/common/Message/instance.ts
index 9fae781..b70a954 100644
--- a/src/components/common/Message/instance.ts
+++ b/src/components/common/Message/instance.ts
@@ -3,9 +3,14 @@ import Ins from "./index.vue";
import type { MessageInstance, Options } from "./type";
const Message: MessageInstance = (opt?: Options) => {
const cfg = opt || {};
+ const ContainerClassName = "happy__message";
+ const c = document.querySelector(`.${ContainerClassName}`);
+ if (c) {
+ document.body.removeChild(c);
+ }
const vm = createVNode(Ins, { ...cfg });
const container = document.createElement("div");
- container.className = "happy__message";
+ container.className = ContainerClassName;
render(vm, container);
document.body.appendChild(container);
};
diff --git a/src/components/common/Message/type.ts b/src/components/common/Message/type.ts
index d830cf5..9d681c8 100644
--- a/src/components/common/Message/type.ts
+++ b/src/components/common/Message/type.ts
@@ -13,5 +13,6 @@ export type Options = {
content: string; // 文字类型
isHTML?: boolean; // 是否是html
duration?: number; // 显示时长
- onClose: () => void; // 关闭时的调用
+ onClose?: () => void; // 关闭时的调用
+ type?: MessageType;
};
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 9ade147..399d8f3 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -39,7 +39,10 @@ const getList = (req: API.ARTICLE.GetArticleListRequest) => {
};
onMounted(async () => {
- M();
+ M({
+ content: "222",
+ type: "error",
+ });
await getList(props.query ?? {});
});