tdesign-vue
Version:
40 lines (34 loc) • 1.46 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var VueCompositionAPI = require('@vue/composition-api');
var _common_js_utils_observe = require('../_common/js/utils/observe.js');
function useElementLazyRender(labelRef, lazyLoad) {
var ioObserver = VueCompositionAPI.ref();
var showElement = VueCompositionAPI.ref(!lazyLoad.value);
var handleLazyLoad = function handleLazyLoad() {
if (!lazyLoad.value || !labelRef.value || ioObserver.value) return;
showElement.value = false;
var io = _common_js_utils_observe["default"](labelRef.value, null, function () {
showElement.value = true;
}, 10);
ioObserver.value = io;
};
VueCompositionAPI.onMounted(handleLazyLoad);
lazyLoad.value && VueCompositionAPI.watch([lazyLoad, labelRef], handleLazyLoad);
VueCompositionAPI.onBeforeUnmount(function () {
var _ioObserver$value, _ioObserver$value$uno;
if (!lazyLoad.value) return;
(_ioObserver$value = ioObserver.value) === null || _ioObserver$value === void 0 || (_ioObserver$value$uno = _ioObserver$value.unobserve) === null || _ioObserver$value$uno === void 0 || _ioObserver$value$uno.call(_ioObserver$value, labelRef.value);
});
return {
showElement: showElement
};
}
exports["default"] = useElementLazyRender;
exports.useElementLazyRender = useElementLazyRender;
//# sourceMappingURL=useElementLazyRender.js.map