iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
Vue.js

完成_個人健康習慣追蹤相關功能網站系列 第 4

任務勾選功能(checkbox 切換完成/未完成狀態,加入樣式)

  • 分享至 

  • xImage
  •  

昨天(Day 3)已經能新增任務,但清單還只是能「顯示資料」而已。今天(Day 4)我希望能讓清單有更多常見又方便的功能,比如:加上 checkbox,勾選就把任務標記為完成;畫面自動更新,而且完成項會有刪除線+淡色背景,讓使用者感受到那種能輕鬆一眼就看懂的狀態。

為了達到我所希望的目標,我們首先需要,在父層 App.vue中, 新增 toggleDone(id),用 id 找到那筆任務,反轉 done 布林值,並把這個方法透過事件監聽掛在子元件:@toggle-done="toggleDone",像是這樣:
https://ithelp.ithome.com.tw/upload/images/20250918/20178068hacVQ4YobJ.png
https://ithelp.ithome.com.tw/upload/images/20250918/20178068OnJ7Moe7gl.png
再將子層 TaskList.vue 每筆任務前,加 checkbox,變更時 emit('toggle-done', id) ,通知父層,讓兩者得以溝通,像是這樣:
https://ithelp.ithome.com.tw/upload/images/20250918/201780686WKg42kprS.pnghttps://ithelp.ithome.com.tw/upload/images/20250918/20178068qepJ5WKu4W.pnghttps://ithelp.ithome.com.tw/upload/images/20250918/20178068DmgbLr4EBx.png
最後,再將已完成任務的刪除線,與淡色背景樣式加上去,最後得到的畫面就會長這樣:
https://ithelp.ithome.com.tw/upload/images/20250918/201780688GFboZrAJQ.png
現在的畫面符合目標:
1.每筆任務前都有 checkbox。
2.勾選 → 任務文字會有刪除線、背景變淡。
3.取消勾選 → 任務恢復正常。
4.新增的任務(像「深呼吸」)也能馬上勾選/取消。

到這裡已經完成今天的進度,當然有新增和勾選功能,也不能少了刪除功能,期待明天的文章吧!


上一篇
新增任務功能(輸入框 + 按鈕 → 清單渲染)
下一篇
任務刪除功能(按下刪除鍵 → 移除任務)
系列文
完成_個人健康習慣追蹤相關功能網站5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言