import { ref } from 'vue' export default () => { const modal = ref({ type: '', title: '', open: false, confirmLoading: false, }) /** * 设置弹窗 * @param options */ function setModal(options = {}) { modal.value = { ...modal.value, ...options, } } /** * 显示弹窗 * @param options */ function showModal(options = {}) { setModal({ open: true, ...options, }) } /** * 隐藏弹窗 */ function hideModal() { setModal({ type: '', open: false, confirmLoading: false, }) } /** * 显示 loading */ function showLoading() { setModal({ confirmLoading: true, }) } /** * 隐藏 loading */ function hideLoading() { setModal({ confirmLoading: false, }) } return { modal, showModal, hideModal, showLoading, hideLoading, } }