颤动不允许从树上移除
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动不允许从树上移除相关的知识,希望对你有一定的参考价值。
我正在与Flutter合作,我正在努力从树中删除一个Dismissible对象。以下是我的代码。我创建了一个存储在列表'newlist'中的自定义类。我似乎从List和setState()中删除了Dismissible对象,但它似乎不起作用。任何帮助是极大的赞赏。
return new Dismissible(key: new Key("newlist"),
direction: DismissDirection.horizontal,
onDismissed: (DismissDirection direction) {
setState(() {
newlist.remove(newlist[index]);
print(newlist.length);
});
},
child: new ListTile(
leading: const
Icon(Icons.album),
title: new Text(newlist[index].amount),
subtitle: new Text(
newlist[index].name)));
})),
答案
我解决了基本上,我为每个Dismissable使用相同的Key。这让Flutter认为我解雇的对象仍然存在。希望这有助于某人。
另一答案
是的,这只是因为Key。
key: new Key("newlist")
- 错了
它应该是:
key: Key(newlist[index])
另一答案
我已经使用项目名称+列表长度作为键来解决它,因为可能有一些具有相同值的项目
return Dismissible(
key: Key(item.name + _paths.length.toString()),
onDismissed: (direction) {
setState(() {
_paths.removeAt(index);
});
// Show a red background as the item is swiped away
background: Container(color: Colors.red),
child: Container(child: new Texts().tallText(item.name)),
);
以上是关于颤动不允许从树上移除的主要内容,如果未能解决你的问题,请参考以下文章