添加搜索功能

gxh_branch
gexinghai 2 years ago
parent fb697e68a0
commit 19c0e22ae2

@ -1,5 +1,3 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:timemanage/db/timer_entry_database.dart';
import 'package:timemanage/model/timer_entry.dart';
@ -16,6 +14,7 @@ class DashBoardScreen extends StatefulWidget {
class DashBoardScreenState extends State<DashBoardScreen> {
late List<TimerEntry> timers; //
bool isLoading = false; //
String _searchQuery = '';
//
@override
@ -40,7 +39,7 @@ class DashBoardScreenState extends State<DashBoardScreen> {
timers = await TimerEntryDatabase.instance.readAll();
setState(() {
timers = timers;
timers = timers.where((timer) => timer.name.contains(_searchQuery)).toList();
isLoading = false;
});
}
@ -106,10 +105,42 @@ class DashBoardScreenState extends State<DashBoardScreen> {
actions: [
//
// TODO:
IconButton(
icon: const Icon(Icons.search),
onPressed: () {},
//
IconButton(
icon: const Icon(Icons.search),
onPressed: () {
showDialog<String>(
context: context,
builder: (context) => AlertDialog(
title: const Text('搜索计时器'),
content: TextField(
onChanged: (value) {
setState(() {
_searchQuery = value;
});
refreshTimers();
},
),
actions: [
TextButton(
onPressed: () {
setState(() {
_searchQuery = '';
});
refreshTimers();
Navigator.pop(context, 'Cancel');
},
child: const Text('取消搜索'),
),
TextButton(
onPressed: () => Navigator.pop(context, 'OK'),
child: const Text('确定'),
),
],
),
);
},
),
// //
// IconButton(
// icon: const Icon(Icons.filter_alt),
@ -189,10 +220,8 @@ class DashBoardScreenState extends State<DashBoardScreen> {
setState(() {
if (timers[index].isActive) {
timers[index].stop();
TimerEntryDatabase.instance.update(timers[index]);
} else {
timers[index].start();
TimerEntryDatabase.instance.update(timers[index]);
}
});
},
@ -215,4 +244,4 @@ class DashBoardScreenState extends State<DashBoardScreen> {
},
);
}
}
}
Loading…
Cancel
Save