0
我使用的是禁用項目的列表,並且想要在一個方向上滑動以刪除項目,但在另一個方向上滑動以啓動對項目的編輯。但是,Flutter堅持認爲必須從onDismissed回調中的樹中刪除Disallow項。我試過重新插入這個項目,但這不起作用。有任何想法嗎?從代碼創建列表項提取低於:顫動可能的堅持列表項目必須從樹上移除
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');
}
},
...
天才 - 謝謝!更一般地說,它有點奇怪,需要像這樣的工作。我原以爲我的用例並不那麼不尋常。 – iBob101
我同意這個用於'Dismissible'的用例很尷尬。如果您有更好的行爲建議,請隨時[提出問題](https://github.com/flutter/flutter/issues/new)。 –
完成:[link](https://github.com/flutter/flutter/issues/11825) – iBob101