yingsa/admin/node_modules/element-plus/lib/hooks/use-intermediate-render/index.js
2026-01-20 08:50:50 +08:00

54 lines
1.2 KiB
JavaScript

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
const useDelayedRender = ({
indicator,
intermediateIndicator,
shouldSetIntermediate = () => true,
beforeShow,
afterShow,
afterHide,
beforeHide
}) => {
vue.watch(
() => vue.unref(indicator),
(val) => {
if (val) {
beforeShow == null ? void 0 : beforeShow();
vue.nextTick(() => {
if (!vue.unref(indicator))
return;
if (shouldSetIntermediate("show")) {
intermediateIndicator.value = true;
}
});
} else {
beforeHide == null ? void 0 : beforeHide();
vue.nextTick(() => {
if (vue.unref(indicator))
return;
if (shouldSetIntermediate("hide")) {
intermediateIndicator.value = false;
}
});
}
}
);
vue.watch(
() => intermediateIndicator.value,
(val) => {
if (val) {
afterShow == null ? void 0 : afterShow();
} else {
afterHide == null ? void 0 : afterHide();
}
}
);
};
exports.useDelayedRender = useDelayedRender;
//# sourceMappingURL=index.js.map