首次构建时从后端初始化我的列表

时间:2019-08-02 09:44:04

标签: flutter dart

我在ListView中显示了Contact个对象的列表。我想做的是在第一次建立页面时从后端初始化我的列表。

enter image description here

我使用ScopedModel从后端获取数据。 所以我想做的是:

ScopedModelDescendant<Account>(
        builder: (context, child, _account){
... 

if(_account.profile.contacts != null)
   _account.profile.contacts.forEach((contact){
       Contacts contactToAdd = new Contacts(contact.name, contact.label, contact.phonenumber,contact.email);
       contactToAdd.onTap = editContact(contactToAdd);
       listOfContact.add(contactToAdd);
    });
  }
)

但是问题是,因为代码在build method中,所以每次添加联系人时,由于ScopedModel而所有内容都会生成,并且此代码将重新执行,使得每次添加一个联系人时,整个列表又被添加了,它重复并增加了很多东西。

为什么我不以Build方法为例在didChangeDependencies()中执行此代码?因为我需要范围模型(帐户)的数据才能进行测试。

所以我不知道如何进行:/知道吗?

1 个答案:

答案 0 :(得分:0)