颤动不允许从树上移除

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)),
        );

以上是关于颤动不允许从树上移除的主要内容,如果未能解决你的问题,请参考以下文章

iOS一行代码将所有子视图从父视图上移除

忘记Apple ID密码,如何从iPhone/iPad上移除 iCloud账号?

从手机上移除黑条

在水体上移除部分光栅图像

如何在颤动中更改另一个类中变量的值

控件移除子视图和从父视图上移出