颤振应用程序中的多个列表构建器

Posted

技术标签:

【中文标题】颤振应用程序中的多个列表构建器【英文标题】:multiple list builder in flutter application 【发布时间】:2021-05-30 17:46:55 【问题描述】:

我可以按照以下代码在 Flutter 应用程序中成功创建 listview.builder。

代码

Container(
     child:  StreamBuilder<QuerySnapshot>(
     

    stream: query2.snapshots(),

          builder: (BuildContext context,AsyncSnapshot<QuerySnapshot> snapshot) 


            var usernames = snapshot.data.docs.map((e) => e['itemName']);
            print("usernames");
            print(usernames);
            if (snapshot.hasError) 
              return Text('Something went wrong');
            

            if (snapshot.connectionState == ConnectionState.waiting) 
              return Text("Loading");
            

            return ListView.builder(
              itemCount: snapshot.data.docs.length,
              itemBuilder: (context, index)

                // String itemname =snapshot.data.docs[index]['itemName'] ?? "";
                return ListTile(title:Text(snapshot.data.docs[index]['itemName'] ?? ""
                ),);
          );
        
      ),
     )

但我想在大约 5 种不同的 if-else 条件下创建列表视图构建器,但我无法这样做,我试图在 StreamBuilder 上实现这个东西,但无法做到,尽管三元运算符工作,但一次只有两个条件而不是多个条件,我应该如何实现它?

【问题讨论】:

【参考方案1】:

这很简单。

if(condition1)
   return Container(color:Colors.blue);
else if(condition2)
   return Container(color:Colors.yellow);
else if(condition3)
   return Container(color:Colors.green);
else if(condition4)
   return Container(color:Colors.red);

...etc.

 else 
   return SizedBox();

【讨论】:

以上是关于颤振应用程序中的多个列表构建器的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤振/飞镖中缓存列表视图构建器?

带有过滤条件项的列表视图构建器分页(颤振)

颤振未来构建器中的 if 语句仅接受 =

构建颤振 apk 时未发现 Gradle 包装器问题

在颤动中将地图列表转换为步进器?

在颤振形式的sqlite数据库中,在列表视图中加载7000多个项目的内存有效方法是啥