是)我有的:
Dismissible(
key: Key(state.threads[index].toString()),
onDismissed: (direction) {
setState(() {
state.threads.removeAt(index);
});
},
);
工作正常。我可以通过向左滑动来消除项目。但是,我想确认该操作,我应该理解和阅读的内容是
confirmDismiss:
但是,作为一个初学者,由于缺乏示例,加上文档字面意义上对我没有任何解释。如何实现呢?
最佳答案
在confirmDismiss
属性中,您可以返回AlertDialog()
(或您喜欢的任何类型的对话框),然后在按钮中列出可能的结果(例如,删除和取消),然后返回true
(删除)或false
(取消),然后确定是否项目必须删除或需要保留在列表中。
例子:
confirmDismiss: (DismissDirection direction) async {
return await showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text("Confirm"),
content: const Text("Are you sure you wish to delete this item?"),
actions: <Widget>[
FlatButton(
onPressed: () => Navigator.of(context).pop(true),
child: const Text("DELETE")
),
FlatButton(
onPressed: () => Navigator.of(context).pop(false),
child: const Text("CANCEL"),
),
],
);
},
);
},
您可以将逻辑提取到方法中,以使代码更具可读性。
关于flutter - Flutter,如何在Dismissible中使用confirmDismiss?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55777213/