从未来中返回列表

从未来中返回列表,第1张

从未来中返回列表

我建议使用FutureBuilder或StreamBuilder(用于流),它可以为您带来布局性能上的优势,还可以提供轻松添加加载和错误小部件的工具。看起来可能如下:

Future<List<User>> usersFuture = getUsers('DcofOiHWcjbjD0i18miW');

将future创建为成员变量,因此您只需提取一次(以防每次调用该方法都会启动一个新的future)。然后在FutureBuilder中使用它。

FutureBuilder<List<User>>(    future: usersFuture,    builder: (context, snapshot) {      if(snapshot.connectionState != ConnectionState.done) {        // return: show loading widget      }      if(snapshot.hasError) {        // return: show error widget      }      List<User> users = snapshot.data ?? [];      return ListView.builder(        itemCount: users.length,        itemBuilder: (context, index) {          User user = users[index];          return new ListTile( leading: CircleAvatar(   backgroundImage: AssetImage(user.profilePicture), ), trailing: user.icon, title: new Text(user.name), onTap: () {   Navigator.push(context,       new MaterialPageRoute(builder: (context) => new Home())); },          );      });  });


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4918607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存