diff --git a/src/components/UseIntersectionObserverInfiniteLoading.vue b/src/components/UseIntersectionObserverInfiniteLoading.vue index fa7e01d..766bfe2 100644 --- a/src/components/UseIntersectionObserverInfiniteLoading.vue +++ b/src/components/UseIntersectionObserverInfiniteLoading.vue @@ -65,11 +65,10 @@ const load = async (why?: string) => { try { const { hasMore } = await props.asyncLoad(++currentPage); state.value = hasMore ? 'loaded' : 'complete'; - if (hasMore) { + if (hasMore && checkIsVisible(target.value!)) { await nextTick(); - if (checkIsVisible(target.value!)) { - load('visible after load'); - } + await new Promise((resolve) => setTimeout(resolve, 300)); + load('visible after load'); } if (!hasMore) {