fix: infiniteScroll
This commit is contained in:
parent
fbcaff4b2b
commit
326bc4ea2f
1 changed files with 29 additions and 16 deletions
|
|
@ -147,23 +147,36 @@ const visibleColumns = ref<string[]>([
|
|||
"dataDiff",
|
||||
]);
|
||||
|
||||
function handleScroll(event: any) {
|
||||
const element = event.target;
|
||||
if (element.scrollHeight - element.scrollTop === element.clientHeight) {
|
||||
storeData.fetchLog(
|
||||
{
|
||||
size: size.value ?? undefined,
|
||||
search: inputSearch.value ?? undefined,
|
||||
systemName: systemName.value ?? undefined,
|
||||
searchAfter: searchAfter.value ?? undefined,
|
||||
date: date.value,
|
||||
},
|
||||
true
|
||||
);
|
||||
setTimeout(() => {}, 500);
|
||||
}
|
||||
function handleScroll() {
|
||||
let scrollFlag = false;
|
||||
return async (e: Event) => {
|
||||
if (scrollFlag) return;
|
||||
|
||||
const element = e.target as HTMLElement;
|
||||
|
||||
if (
|
||||
Math.abs(
|
||||
element.scrollHeight - element.clientHeight - element.scrollTop
|
||||
) <= 1
|
||||
) {
|
||||
scrollFlag = true;
|
||||
await storeData.fetchLog(
|
||||
{
|
||||
size: size.value ?? undefined,
|
||||
search: inputSearch.value ?? undefined,
|
||||
systemName: systemName.value ?? undefined,
|
||||
searchAfter: searchAfter.value ?? undefined,
|
||||
date: date.value,
|
||||
},
|
||||
true
|
||||
);
|
||||
scrollFlag = false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const infiniteScroll = handleScroll();
|
||||
|
||||
function selectedDate() {
|
||||
logData.value = [];
|
||||
searchAfter.value = undefined;
|
||||
|
|
@ -277,7 +290,7 @@ onMounted(() => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="q-pa-md">
|
||||
<div style="max-height: 70vh; overflow: scroll" @scroll="handleScroll">
|
||||
<div style="max-height: 70vh; overflow: scroll" @scroll="infiniteScroll">
|
||||
<d-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue