epic-designer
Version:
基于vue3的设计器,可视化开发页面表单
35 lines (34 loc) • 806 B
JavaScript
import { ref as o } from "vue";
function i() {
const r = o({
formChange: [],
nodeRender: []
}), u = o({
formChange: 0,
nodeRender: 0
});
return {
clear: (e) => {
e ? (r.value[e] = [], u.value[e] = 0) : Object.keys(r.value).forEach((t) => {
const n = t;
r.value[n] = [], u.value[n] = 0;
});
},
execute: async (e, t) => {
for (const n of r.value[e])
try {
return await n(t);
} catch (s) {
console.error(`执行钩子 ${e} 时出错:`, s);
}
},
getCount: (e) => u.value[e],
register: (e, t) => (r.value[e].push(t), u.value[e]++, () => {
const n = r.value[e].indexOf(t);
n !== -1 && (r.value[e].splice(n, 1), u.value[e]--);
})
};
}
export {
i as useHookManager
};