import { onUnmounted } from "vue"; // 回调池 const cbPool: (() => void)[] = []; // 注册顶部按钮刷新回调(组件销毁时,自动销毁回调, 这是推荐的方式) export function registerRefreshCallback(cb: () => void) { cbPool.push(cb); onUnmounted(() => { const targetIndex = cbPool.findIndex((item) => item === cb); if (targetIndex !== -1) { cbPool.splice(targetIndex, 1); } console.log("cbPool", cbPool.length); }); } // 注册顶部按钮刷新回调(组件销毁时,不会自动销毁回调,慎用) export function registerRefreshCallbackForever(cb: () => void) { cbPool.push(cb); } // 调用触发刷新事件回调 export function invokeAllRefreshCallback() { cbPool.forEach((cb) => cb && cb()); }