iT邦幫忙

0

26 : 任務排序功能

  • 分享至 

  • xImage
  •  
  1. 新增排序下拉選單
    • 在列表上方加入 DropdownButton,提供「新增時間」「到期時間」「優先權」三種排序方式
    • 使用者選擇不同排序方式後,列表即時更新

  2. 根據排序方式更新列表
    • 使用 setState() 更新 _todoList 的排序
    • 保持原有搜尋與篩選功能,不影響其他操作

  3. 排序方式記憶
    • 可以記住使用者上次選擇的排序方式
    • 下次開啟 App 或回到列表時,仍依上次排序顯示

// 排序選單
DropdownButton<String>(
  value: _sortOption,
  items: [
    DropdownMenuItem(value: '新增時間', child: Text('新增時間')),
    DropdownMenuItem(value: '到期時間', child: Text('到期時間')),
    DropdownMenuItem(value: '優先權', child: Text('優先權')),
  ],
  onChanged: (value) {
    setState(() {
      _sortOption = value!;
      switch (_sortOption) {
        case '新增時間':
          _todoList.sort((a, b) => a.createdAt.compareTo(b.createdAt));
          break;
        case '到期時間':
          _todoList.sort((a, b) => a.dueDate!.compareTo(b.dueDate!));
          break;
        case '優先權':
          _todoList.sort((a, b) => b.priority.compareTo(a.priority));
          break;
      }
    });
  },
),

https://ithelp.ithome.com.tw/upload/images/20251016/201789001C4St2yv6D.png


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

尚未有邦友留言

立即登入留言