在列表(颤动/Dart)中编辑自定义模型的属性,可以通过以下步骤实现:
class User {
String name;
int age;
User({this.name, this.age});
}
List<User> users = [
User(name: "John", age: 25),
User(name: "Alice", age: 30),
];
ListView.builder(
itemCount: users.length,
itemBuilder: (context, index) {
User user = users[index];
return ListTile(
title: Text(user.name),
subtitle: Text("Age: ${user.age}"),
trailing: IconButton(
icon: Icon(Icons.edit),
onPressed: () {
// 编辑属性的操作
},
),
);
},
);
TextEditingController nameController = TextEditingController();
TextEditingController ageController = TextEditingController();
// 编辑属性的操作
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text("Edit User"),
content: Column(
children: [
TextFormField(
controller: nameController,
decoration: InputDecoration(labelText: "Name"),
),
TextFormField(
controller: ageController,
decoration: InputDecoration(labelText: "Age"),
),
],
),
actions: [
FlatButton(
child: Text("Cancel"),
onPressed: () {
Navigator.pop(context);
},
),
FlatButton(
child: Text("Save"),
onPressed: () {
// 更新属性的操作
setState(() {
user.name = nameController.text;
user.age = int.parse(ageController.text);
});
Navigator.pop(context);
},
),
],
);
},
);
以上是在列表(颤动/Dart)中编辑自定义模型属性的基本步骤。根据具体需求,可以进一步扩展和优化编辑功能,例如添加验证、错误处理等。对于更复杂的应用场景,可以考虑使用状态管理工具如Provider或GetX来管理数据和状态。
领取专属 10元无门槛券
手把手带您无忧上云