ListView是Dart单条记录/结果的理想选择吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView是Dart单条记录/结果的理想选择吗?相关的知识,希望对你有一定的参考价值。

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

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

我有一个场景,我想向用户显示他们自己的个人资料详细信息,因此不需要列表。我可以使用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"])),
            ],
          );
        }
      );
    }
  }
);

为了澄清,此示例返回单个结果(仅),然后循环遍历它。有更好的方法输出单个结果吗?

答案

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

SingleChildScrollView

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

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

以上是关于ListView是Dart单条记录/结果的理想选择吗?的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 暴露 SELECT 单条记录

从可能产生多条记录的连接表中获取单条记录

在颤动中使用 ListView 进行分页

如果是单条记录,不适用where条件;如果是多条记录,应用where条件,返回单条记录

Flutter/Dart 如何将索引从 Listview.builder 传递到项目小部件

Listview.build 不在 Web 上滚动