依關鍵字與價格查找產品
修改檔案:script.js
完成後看見:可以關鍵字、價格或兩者查找產品
CHAPTER 22 · PRACTICE WORKSPACE
完成可前後翻頁的產品列表
TASK STATUS
修改檔案:script.js
完成後看見:可以關鍵字、價格或兩者查找產品
修改檔案:script.js
完成後看見:查找結果每頁最多三筆,卡片與頁碼同步
修改檔案:script.js
完成後看見:首末頁按鈕正確停用,無查找結果時顯示 0 / 0 且兩鍵停用
WORKSPACE
已完成 TASK-01;先核對可見結果,再前往 TASK-02。
FOCUS TASK · TASK-02
比較:getPageItems 取出目前頁,總筆數與頁碼仍要對回完整查找結果。
現在做:在 Checkpoint 2 保持價格「全部」,先記錄 getFilteredProducts() 的 7 筆,再點下一頁;確認 getPageItems() 變成商品 4–6、卡片只有 3 張,而總結果仍顯示 7 筆。再點到第三頁確認只剩商品 7。
預期:getPageItems() 只切目前頁,不能改寫完整 filteredProducts;頁 1/2/3 分別顯示 3/3/1 筆,結果總數仍是 7。
證據:留下三頁的卡片名稱、卡片數、page-info 與總結果數,證明切片與原始查找結果沒有混在一起。
比較:重新渲染卡片時,頁碼文字與上一頁/下一頁狀態也要同步更新。
現在做:在第 2 頁同時記錄卡片名稱、#page-info、#prev.disabled 與 #next.disabled;接著切回第 1 頁與第 3 頁重跑,確認每次 render 都同步更新四項畫面證據。
預期:頁碼、卡片與按鈕狀態由同一次 render 一起更新;不會出現卡片已換頁但 page-info 或 disabled 還停在上一頁的狀況。
證據:提供第 1/2/3 頁的四欄紀錄:卡片數、頁碼文字、上一頁 disabled、下一頁 disabled。
完成條件:DONE-02:查找結果每頁最多三筆,卡片與頁碼同步
PRODUCT LIST
把一批產品資料,逐步變成可查找、可翻頁、守住邊界的列表。
關鍵字與價格條件會一路保留;每一階段只新增一個責任。
操作後請回頭看右側卡片與頁碼,確認畫面是否跟著狀態一起改變。
RESULTS
7 筆資料
CONTINUE
前往 Checkpoint 2,依要求完成「分頁並渲染查找結果」。
CHAPTER HANDOFF
接收第 21 章:沿用固定的 id、name、price rows 契約;本章的七筆 fixture 是可重現入口,不重新處理 GAS。
交給第 23 章:完成後帶著搜尋/價格/分頁狀態、0/0 空結果與首末頁 disabled 證據,下一章直接處理表單驗證與 POST,不重做列表狀態。
前往第 23 章:表單驗證、POST 與資料寫入