Skip to content

Commit 3a45a1e

Browse files
authored
Merge pull request #211 from webduinoio/bug/8110
Bug/8110
2 parents 1024fa0 + aa57708 commit 3a45a1e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/views/HomeView.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const dataLastIndex = ref('');
3030
const dialog = ref(false);
3131
const scrollPosition = ref(0);
3232
const searchQuery = ref(''); // 新增搜尋用的變數
33+
const loadDataCount = ref(30);
3334
const containerWidth = computed(() => {
3435
if (width.value < 750) return `340px`;
3536
if (width.value < 1280) return `${340 * 2}px`;
@@ -147,9 +148,11 @@ const loadActors = async () => {
147148
const { data: value } = await getActors({
148149
lastIndex: get(dataLastIndex),
149150
search: searchQuery.value,
151+
count: loadDataCount.value,
150152
});
153+
151154
// !這裡加上判斷式,是由於 onSearch 及 onLoad 會同時呼叫 loadActors
152-
// 由於 onSearch 清除 data,當 data 變動時,onLoad 也會被觸發
155+
// 由於 onSearch 清除 data,當 data 清空,而觸發 scrollbar 變動,onLoad 也會被觸發
153156
if (value.list) {
154157
// 使用 Set 來跟蹤已存在的 id
155158
const existingIds = new Set(data.value.map((item: Actor) => item.id));
@@ -161,17 +164,17 @@ const loadActors = async () => {
161164
data.value.push(...filteredList);
162165
set(dataLastIndex, value.lastIndex);
163166
}
164-
return value;
167+
return Object.assign({}, value, { next: value.list.length === loadDataCount.value });
165168
} catch (err) {
166169
console.error(err);
167-
return { list: null };
170+
return { list: null, next: false };
168171
}
169172
};
170173
171174
const onLoad = async ({ done }: { done: Function }) => {
172175
try {
173176
const value = await loadActors();
174-
if (value.list) {
177+
if (value.next) {
175178
done('ok');
176179
} else {
177180
done('empty');

0 commit comments

Comments
 (0)