修改前
return products;
list.textContent = "尚未完成渲染";
修改後
const start = (page - 1) * pageSize;
return getFilteredProducts().slice(start, start + pageSize);
function createProductCard(product) {
const card = document.createElement("article");
card.className = "product-card";
const title = document.createElement("h2");
title.textContent = product.name;
const price = document.createElement("p");
price.textContent = `$${product.price}`;
card.append(title, price);
return card;
}
if (getFilteredProducts().length === 0) {
const emptyMessage = document.createElement("p");
emptyMessage.className = "empty-state";
emptyMessage.textContent = "找不到符合條件的產品。";
list.replaceChildren(emptyMessage);
info.textContent = "第 0 / 0 頁";
updateControls();
return;
}
list.replaceChildren(...getPageItems().map(createProductCard));
info.textContent = `第 ${page} 頁`;
updateControls();