可拒绝仅用于删除吗?

时间:2019-09-04 10:29:18

标签: flutter

我有一个ListView.builder,其中显示了用户添加的一堆任务。我想从左侧滑动时将任务标记为已完成,而从右侧滑动时要删除任务。我最初从Dismissible开始,因为它可以根据滑动方向显示明显的结果,但是不确定是否只能删除而与滑动方向无关。

我可以使用Dismissible实现删除并标记完整功能吗?还是必须使用另一个小部件来实现此目的?

 SingleChildScrollView(
                      child: ListView.builder(
                          scrollDirection: Axis.vertical,
                          shrinkWrap: true,
                          itemCount: Itemlist.length,
                          itemBuilder: (BuildContext context, int index){
                            String item = Itemlist[index].toString();
                          return Dismissible(
                              key: Key(UniqueKey().toString()),
                              onDismissed: (direction){
                                setState((){
                                    deleteItem(Itemlist[index].id, index);
                                  }
                                );
                              },
                              background: Container(
                                child: Icon(Icons.delete),
                                color: Colors.red,
                                alignment: Alignment.centerLeft,
                              ),
                            secondaryBackground: Container(
                              child: Icon(Icons.delete),
                              color: Colors.green,
                              alignment: Alignment.centerLeft,
                            ),
                              child: Itemlist[index],
                            );
                          }
                      ),
                    ),

1 个答案:

答案 0 :(得分:0)

onDismissed: (direction) {
  print(direction.index);
  if(direction.index==2)
  {
    anythingWhatYouWant();
  }
  else
  {
    deleteFunction();
  }
},