xdesign-vue-next
Version:
XDesign Component for vue-next
35 lines (31 loc) • 1.02 kB
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
import { ref, onMounted, watch, onBeforeUnmount } from 'vue';
import observe from '../_common/js/utils/observe.js';
function useElementLazyRender(labelRef, lazyLoad) {
var ioObserver = ref();
var showElement = ref(true);
var handleLazyLoad = function handleLazyLoad() {
if (!lazyLoad.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], handleLazyLoad);
onBeforeUnmount(function () {
var _ioObserver$value;
if (!lazyLoad.value) return;
(_ioObserver$value = ioObserver.value) === null || _ioObserver$value === void 0 ? void 0 : _ioObserver$value.unobserve(labelRef.value);
});
return {
showElement: showElement
};
}
export { useElementLazyRender as default, useElementLazyRender };
//# sourceMappingURL=useElementLazyRender.js.map