颤动应用程序中的多个列表生成器

multiple list builder in flutter application

我能够按照以下代码在 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 上实现这个东西但是做不到,虽然三元运算符有效,但一次只能用于两个条件而不是多个条件,我应该如何实现它?

这个很简单

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();