feat(item): 添加物品编辑功能- 在 AddItemScreen 中添加编辑物品的功能
- 接受一个可选的 Item 对象用于编辑 - 在初始化时加载物品的现有数据 - 更新 ItemListScreen 中的编辑按钮,使其导航到 AddItemScreen 并传递要编辑的物品
This commit is contained in:
parent
faf439087a
commit
b7d1cdc62e
@ -52,7 +52,7 @@ class _ItemListScreenState extends State<ItemListScreen> {
|
|||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => DetailItemScreen(item: item),
|
builder: (context) => AddItemScreen(itemToEdit: item),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -41,8 +41,14 @@ extension ItemIsUseX on ItemIsUse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class AddItemScreen extends StatefulWidget {
|
class AddItemScreen extends StatefulWidget {
|
||||||
|
final Item? itemToEdit;
|
||||||
|
|
||||||
|
const AddItemScreen({Key? key, this.itemToEdit}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_FromTestRouteSate createState() => _FromTestRouteSate();
|
_FromTestRouteSate createState() => _FromTestRouteSate();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class _FromTestRouteSate extends State<AddItemScreen> {
|
class _FromTestRouteSate extends State<AddItemScreen> {
|
||||||
@ -59,6 +65,17 @@ class _FromTestRouteSate extends State<AddItemScreen> {
|
|||||||
// 添加自定义分类列表
|
// 添加自定义分类列表
|
||||||
List<String> _categories = ['A', 'B', 'C', 'D']; // 自定义分类
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user