Skip to content

封装弹窗组件

477字约2分钟

vue

2024-11-06

弹窗是一个很常见的组件,像是 Element 的 message-box 组件就和 alert() 的使用一样方便,但是三方库的组件的样式往往不符合 UI 需求,覆盖起来太麻烦,不如自己写一个。

MessageBox.vue

导出一个showMsg方法,创建一个 div,将 MessageBox组件挂载上去,点击后卸载。

调用方式如下:

<template>
  <button @click="open">Click to open the Message Box</button>
</template>

<script setup lang="ts">
import { showMsg } from "@/components/MessageBox";

const open = () => {
  showMsg({
    title: "标题",
    content: "1234567",
    closeable: true,
    showCancle: true,
    onCancel: () => {
      console.log("Cancle :>>");
    },
    onConfirm: () => {
      console.log("Confirm :>>");
    },
  });
};
</script>

参考: