首页 > 解决方案 > ListView 是 Dart 单条记录/结果的理想选择吗?

问题描述

我有一个关于在 Flutter/Dart 中输出单个结果的问题。

大多数在线显示结果集输出的示例都显示了通常的母版页(结果列表)和详细信息页(传递信息并显示单个详细结果)。

我有一个场景,我想向用户展示他们自己的个人资料详细信息,因此不需要列表。我可以使用飞镖来实现这一点ListView并显示一个结果。所以我的问题是 - 这是一个矫枉过正,因为没有必要列出结果(并循环它)。有没有更好的方法来显示一个单一的结果?

仅供参考,这是我的参考代码,可用作响应的基础:

return StreamBuilder(
  stream: Firestore.instance.collection('profile').where("uid", isEqualTo: currentUID).snapshots(),
  builder: (BuildContext context, AsyncSnapshot snapshot) {

    if (!snapshot.hasData) return CircularProgressIndicator();

    if (snapshot.hasData) {
      return ListView.builder(
        itemCount: snapshot.data.documents.length,
          itemBuilder: (context, index) {
          DocumentSnapshot ds = snapshot.data.documents[index];
          return Row(
            children: <Widget>[
              Expanded (child:Text(ds["fullname"])),
            ],
          );
        }
      );
    }
  }
);

为了澄清起见,这个例子(仅)返回一个结果,然后循环遍历它。有没有更好的方法来输出单个结果?

标签: dartfluttergoogle-cloud-firestore

解决方案


假设您想使用 aListView作为滚动效果,那么您可以这样做:

SingleChildScrollView

此小部件类似于ListView/ GridView,但仅用于一项。

SingleChildScrollView(
  child: Text('Hello World'),
),

推荐阅读