iT邦幫忙

0

14 : 新增任務自動排序與完成項目下移

  • 分享至 

  • xImage
  •  
  1. 新增任務保持在最上方
    • 新增待辦事項時,未完成的任務應該插入列表的最前面
    • 保持列表整齊,最新的未完成任務顯示在上方

  2. 完成項目自動移到最下方
    • 當使用者勾選完成任務後,該項目自動移動到列表底部
    • 保持未完成任目在上方,完成任務在下方

  3. 保留每個清單項目的框架與顏色
    • 每個待辦項目仍保留長方形框,點擊圓形打勾後文字槓掉
    • 勾選時框框顏色變為紫色,垃圾桶紅色維持

main.dart 中 _addTask 與 _toggleDone 修改:

// ===== 第十四天修改:新增任務插入到最上方 =====
void _addTask(String task) {
 setState(() {
   // 將新任務放在最上方
   _todoList.insert(0, ToDoItem(title: task));
 });
 _textController.clear();
}

// ===== 第十四天修改:完成任務自動移到最下方 =====
void _toggleDone(int index) {
 setState(() {
   _todoList[index].toggleDone();
   final item = _todoList.removeAt(index);
   // 完成就移到最下面,未完成保持原本位置
   if (item.isDone) {
     _todoList.add(item);
   } else {
     _todoList.insert(0, item);
   }
 });
}

說明:
• _addTask 使用 insert(0, ...) 讓新任務顯示在最上方
• _toggleDone 先切換完成狀態,再把該項目移動到列表底部或上方,確保列表整齊
• 這樣做完,第十四天的功能就完成了:新增未完成在最上,完成的自動移下,並保留長方形框和顏色設定

https://ithelp.ithome.com.tw/upload/images/20251011/20178900IyUMxcz7wv.png


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言