flutter-demo/lib/provider/item_provider.dart
LingandRX 083b4e506a feat(item): 添加物品删除功能并优化物品详情页面
- 在 DetailItemScreen 中添加删除物品的按钮和确认对话框
- 在 ItemProvider 中实现删除物品的方法
- 在 ItemRepository 中实现删除物品的数据库操作
- 在 ItemModel 中添加 status 字段,用于标记物品状态
2025-05-05 22:12:09 +08:00

34 lines
907 B
Dart

import 'package:flutter/material.dart';
import 'package:item_tracker/models/item_model.dart';
import 'package:item_tracker/repository/item_repository.dart';
class ItemProvider extends ChangeNotifier {
List<Item> _items = [];
List<Item> get items => _items;
final ItemRepository repository;
ItemProvider({required this.repository});
Future<void> loadItems() async {
final data = await repository.getAllItems();
_items = data.map((map) => Item.fromMap(map)).toList();
notifyListeners();
}
Future<void> addItem(Item item) async {
await repository.insertItem(item);
await loadItems(); // 插入后刷新
}
Future<void> updateItem(Item item) async {
await repository.updateItem(item);
await loadItems(); // 更新后刷新
}
Future<void> deleteItem(Item item) async {
await repository.deleteItem(item);
await loadItems(); // 删除后刷新
}
}