我正在使用一个可驳回项目列表,希望朝一个方向滑动以删除该项目,但朝另一个方向滑动以启动对该项目的编辑.然而,弗利特坚持认为,在onDismissed回调中,必须从树中删除一个可驳回的项目.我试着重新插入该项目,但不起作用.有什么 idea 吗?创建列表项的代码摘录如下:
return new Dismissible(
key: new ObjectKey(item),
direction: DismissDirection.horizontal,
onDismissed: (DismissDirection direction) {
setState(() {
item.deleteTsk();
});
if (direction == DismissDirection.endToStart){
//user swiped left to delete item
_scaffoldKey.currentState.showSnackBar(new SnackBar(
content: new Text('You deleted: ${item.title}'),
action: new SnackBarAction(
label: 'UNDO',
onPressed: () { handleUndo(item); }
)
));
}
if (direction == DismissDirection.startToEnd){
//user swiped right to edit so undo the delete required by flutter
Async.scheduleMicrotask((){handleUndo(item);});
Navigator.of(context).pushNamed('/tskedit');
}
},
...