zy-vue-library/hooks/useRequestLoading/index.js

21 lines
385 B
JavaScript
Raw Normal View History

2025-10-22 11:19:51 +08:00
import { customRef } from "vue";
const loading = customRef((track, trigger) => {
let loadingCount = 0;
return {
get() {
track();
return loadingCount > 0;
},
set(value) {
loadingCount += value ? 1 : -1;
loadingCount = Math.max(0, loadingCount);
trigger();
},
};
});
export default function useRequestLoading() {
return loading;
}