tdesign-vue
Version:
35 lines (31 loc) • 1.24 kB
JavaScript
/**
* tdesign v1.14.1
* (c) 2025 tdesign
* @license MIT
*/
import { ref, onMounted, watch, onBeforeUnmount } from '@vue/composition-api';
import observe from '../_common/js/utils/observe.js';
function useElementLazyRender(labelRef, lazyLoad) {
var ioObserver = ref();
var showElement = ref(!lazyLoad.value);
var handleLazyLoad = function handleLazyLoad() {
if (!lazyLoad.value || !labelRef.value || ioObserver.value) return;
showElement.value = false;
var io = observe(labelRef.value, null, function () {
showElement.value = true;
}, 10);
ioObserver.value = io;
};
onMounted(handleLazyLoad);
lazyLoad.value && watch([lazyLoad, labelRef], handleLazyLoad);
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
};
}
export { useElementLazyRender as default, useElementLazyRender };
//# sourceMappingURL=useElementLazyRender.js.map