在Firestore中更新数据时,Itembuilder不在streambuilder中执行

时间:2019-10-09 19:25:12

标签: flutter stream-builder flutter-animatedlist

当我第一次启动该应用程序时,它将所有项目加载到动画列表中。但是,当我向Firestore添加项目时,streambuilder会意识到已经发生了某些事情。但是它不会执行itembuilder,因此不会显示新项目。但是,如果我重新启动该应用程序,则将加载新项目。如果仅更改Firestore数据库上现有项目的名称,它将毫无问题地重建。

当我更新项目时。我必须获取任务图并将其替换为包含该项目的新副本,并将其发布/更新到firestore。

我已经尝试了所有我能想到的,但不知道为什么会这样。 我已经打印了itembuilder,可以看到它没有在更新中执行。

bool isValid;
do
{
     Console.Write("\n\tGuess a number between 1 and 20: ");
     isValid = Int32.TryParse(Console.ReadLine(), out myNum);
     if(!isValid)
     {
         Console.WriteLine("\n\tInvalid input detected. Please try again.");
     }
} while(!isValid)

1 个答案:

答案 0 :(得分:0)

通过重置_listKey使它正常工作,并在动画列表之前添加了它。 _listKey = null; _listKey = new GlobalKey();