feat(item): 添加物品编辑功能- 在 AddItemScreen 中添加编辑物品的功能

- 接受一个可选的 Item 对象用于编辑
- 在初始化时加载物品的现有数据
- 更新 ItemListScreen 中的编辑按钮,使其导航到 AddItemScreen 并传递要编辑的物品
This commit is contained in:
LingandRX 2025-05-06 22:36:49 +08:00
parent faf439087a
commit b7d1cdc62e
2 changed files with 18 additions and 1 deletions

View File

@ -52,7 +52,7 @@ class _ItemListScreenState extends State<ItemListScreen> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailItemScreen(item: item),
builder: (context) => AddItemScreen(itemToEdit: item),
),
);
},

View File

@ -41,8 +41,14 @@ extension ItemIsUseX on ItemIsUse {
}
class AddItemScreen extends StatefulWidget {
final Item? itemToEdit;
const AddItemScreen({Key? key, this.itemToEdit}) : super(key: key);
@override
_FromTestRouteSate createState() => _FromTestRouteSate();
}
class _FromTestRouteSate extends State<AddItemScreen> {
@ -59,6 +65,17 @@ class _FromTestRouteSate extends State<AddItemScreen> {
//
List<String> _categories = ['A', 'B', 'C', 'D']; //
@override
void initState() {
super.initState();
final item = widget.itemToEdit;
if (item != null) {
_name = item.name;
_description = item.description!;
_selectedDate = item.purchaseDate;
}
}
@override
Widget build(BuildContext context) {
return Scaffold(