| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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, |
| | | }; |
| | | } |