我有一个 ListView.builder 小部件
void delete(dynamic obj) {
setState((){
pc.remove(obj);
})
}
void update(dynamic obj){}
List pc = List();
@override
void init(){
super.initState();
//Fetch data
setState((){
pc = data;
})
}
@override
Widget build(BuildContext context) {
return Container(
child: ListView.builder(
padding: EdgeInsets.only(bottom: 72.0),
itemCount: pc.length,
itemBuilder: (context, index) {
return ListItemWid(
pc.elementAt(index), delete, update);
},
),
);
}
Run Code Online (Sandbox Code Playgroud)
这里显示的元素类型是动态的,但实际上是一个固定的对象。现在,当调用 ListItemWid 的删除按钮时,我调用有状态小部件中的删除函数,并执行该函数中的代码,因为该对象已从 db 中删除。但它没有正确反映在视图中。有时,错误的元素被删除,有时根本没有元素被删除。有时它有效。由于限制,我无法发布实际的源代码,但我确实需要帮助来修改 flutter 中列表视图中的元素。颤振库中演示的标准方法不起作用。
只是为了了解更多信息,列表视图显示在一个 PageView 页面内,所有数据都是从当前列表小部件中的 Sqflite 获取和显示的。
请帮忙。
谢谢。
您应该为 ListView 构建器返回的小部件添加一个键,我建议您从 google devolopers 频道观看此视频:https : //www.youtube.com/watch?v= kn0EOS-ZiIc 它可以帮助您了解更多关于“钥匙”
| 归档时间: |
|
| 查看次数: |
4652 次 |
| 最近记录: |