如何覆盖Slidable中默认的onDismissed行为?

问题描述 投票:0回答:1

我刚刚学习 Flutter/Dart,所以如果这是一个愚蠢的问题,我深表歉意:)

我的应用程序当前使用 Dismissible,我们根据用户向左还是向右滑动来更改列表项的属性。该项目保留在列表中 - 我们不想删除它!

Dismissable 有确认选项,这使我们能够执行逻辑但将项目保留在列表中:

    return Dismissible(
      key: UniqueKey(),
      confirmDismiss: (direction) async {
         // do stuff
         return false; // item stays in the list
      },

我想保留这种行为,同时也添加 ActionPane 按钮。我正在尝试使用 Slidable (v3.1.2) - 我得到了操作按钮,但是我没有找到一种方法来阻止“取消”操作从列表中删除小部件...

child: Slidable(
        startActionPane: ActionPane(
            motion: const ScrollMotion(),
            dismissible: DismissiblePane(
              key: UniqueKey(),
              onDismissed: () {
                // Modify item
              },
            ),

onDismissed fn 不接受任何参数或返回值...我该怎么做才能阻止该项目被删除?

非常感谢!

flutter dismissible
1个回答
0
投票

哦没关系,刚刚找到了答案!对于任何有兴趣的人:

在 DismissablePane 类中,有一个参数“confirmDismiss”,您可以在其中传递函数,如果返回 false,则该项目保留在列表中:)

© www.soinside.com 2019 - 2024. All rights reserved.