tdesign-vue-next
Version:
TDesign Component for vue-next
40 lines (34 loc) • 1.31 kB
JavaScript
/**
* tdesign v1.11.5
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var Vue = require('vue');
var observe = require('../_chunks/dep-9da21bcd.js');
function useElementLazyRender(labelRef, lazyLoad) {
var ioObserver = Vue.ref();
var showElement = Vue.ref(true);
var handleLazyLoad = function handleLazyLoad() {
if (!lazyLoad.value || !labelRef.value || ioObserver.value) return;
showElement.value = false;
var io = observe.observe(labelRef.value, null, function () {
showElement.value = true;
}, 10);
ioObserver.value = io;
};
Vue.onMounted(handleLazyLoad);
lazyLoad.value && Vue.watch([lazyLoad, labelRef], handleLazyLoad);
Vue.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