是)我有的:

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/

10-12 06:01