import { ref, watch } from 'vue'; import { useMessageBoxTip, useMessageBox } from './messageBox'; // 各类弹出框开关逻辑 export function useDialog() { const show = ref(false); function confirmClick() { if (options.tip) { useMessageBoxTip({ confirmMsg: options.confrim.msg, confirmTitle: options.confrim.title, onConfirm: async () => { const res = options.confrim.do(); show.value = false; return res; } }); } else { useMessageBox({ confirmMsg: options.cancel.msg, confirmTitle: options.cancel.title, onConfirm: () => { const res = options.cancel.do(); show.value = false; return res; } }); } } function cancelClick() { show.value = false; } const options = { tip: false, cancel: { title: '取消', msg: '是否放弃已编辑的内容?', do: () => {} }, confirm: { title: '提交', msg: '确认是否提交?', do: () => {} } }; return { show, confirmClick, cancelClick, options }; }