flutter-demo/lib/provider/item_provider.dart
LingandRX ba0a8eb654 feat(provider): 重构项目使用 provider 状态管理
- 移除 ItemScopedModel,改用 ItemProvider
- 更新 addItem 屏幕,使用 ItemProvider 添加物品
- 修改物品列表屏幕,使用 ItemProvider 加载和刷新数据
- 更新 main 函数,添加 ItemProvider
2025-04-29 21:01:34 +08:00

24 lines
645 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(); // 插入后刷新
}
}