Listview 向右拖动并删除
我在卡片的小部件中有一个小部件Listview 向右拖动并删除,listview,flutter,Listview,Flutter,我在卡片的小部件中有一个小部件ListView.builder。如何将listile小部件向右拖动并从列表中删除该产品?这张照片也是一样 您可以使用Widget来实现它 下面的代码可能会帮助您更好地理解它 final items = List<String>.generate(20, (i) => "Item ${i + 1}"); @override Widget build(BuildContext context) { return Scaffold(
ListView.builder
。如何将listile
小部件向右拖动并从列表中删除该产品?这张照片也是一样
您可以使用Widget来实现它
下面的代码可能会帮助您更好地理解它
final items = List<String>.generate(20, (i) => "Item ${i + 1}");
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Dismissable demo"),
),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return Dismissible(
key: Key(item),
onDismissed: (direction) {
setState(() {
items.removeAt(index);
});
Scaffold.of(context)
.showSnackBar(SnackBar(content: Text("$item dismissed")));
},
background: Container(
color: Colors.red,
child: Icon(Icons.delete),
),
child: Card(
margin: EdgeInsets.all(20),
child: Text("$item"),
));
},
),
);
}
final items=List.generate(20,(i)=>“Item${i+1}”);
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“可撤销演示”),
),
正文:ListView.builder(
itemCount:items.length,
itemBuilder:(上下文,索引){
最终项目=项目[索引];
可驳回的回报(
键:键(项),
onDismissed:(方向){
设置状态(){
项目移除(索引);
});
脚手架(上下文)
.showSnackBar(SnackBar(内容:文本($item disposed));
},
背景:集装箱(
颜色:颜色,红色,
子:图标(Icons.delete),
),
孩子:卡片(
保证金:全部(20),
子项:文本(“$item”),
));
},
),
);
}
您可以使用小部件来实现它
下面的代码可能会帮助您更好地理解它
final items = List<String>.generate(20, (i) => "Item ${i + 1}");
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Dismissable demo"),
),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return Dismissible(
key: Key(item),
onDismissed: (direction) {
setState(() {
items.removeAt(index);
});
Scaffold.of(context)
.showSnackBar(SnackBar(content: Text("$item dismissed")));
},
background: Container(
color: Colors.red,
child: Icon(Icons.delete),
),
child: Card(
margin: EdgeInsets.all(20),
child: Text("$item"),
));
},
),
);
}
final items=List.generate(20,(i)=>“Item${i+1}”);
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“可撤销演示”),
),
正文:ListView.builder(
itemCount:items.length,
itemBuilder:(上下文,索引){
最终项目=项目[索引];
可驳回的回报(
键:键(项),
onDismissed:(方向){
设置状态(){
项目移除(索引);
});
脚手架(上下文)
.showSnackBar(SnackBar(内容:文本($item disposed));
},
背景:集装箱(
颜色:颜色,红色,
子:图标(Icons.delete),
),
孩子:卡片(
保证金:全部(20),
子项:文本(“$item”),
));
},
),
);
}
查看此链接:@VirenVVarasadiya为什么不发布答案?查看此链接:@VirenVVarasadiya为什么不发布答案?