import { ref } from "vue"; export function useModal(options) { const id = ref(); const visible = ref(false); const loading = ref(false); const modalOptions = ref({}); const openModal = (e) => { id.value = e; modalOptions.value = { title: e ? `修改${options.title}` : `新增${options.title}`, content: "确定执行此操作吗?", confirmText: "确定", cancelText: "取消", }; visible.value = true; }; // 关闭模态框 const closeModal = () => { visible.value = false; loading.value = false; }; // 确认操作 const handleConfirm = async (callback) => { loading.value = true; callback(); closeModal(); }; return { id, visible, loading, modalOptions, openModal, closeModal, handleConfirm, }; }