【问题标题】:How can i loop database items in flutter firebase?如何在flutter firebase中循环数据库项目?
【发布时间】:2021-12-27 11:30:06
【问题描述】:

我正在尝试构建和问答应用程序。 在我的问题页面中,我正在通过一种方法构建我的答案。 这就是方法;


 SizedBox buildAnswerBox(var questionsOfSports,int answers) {
    String? answerT;
    return SizedBox(
      height: 40,
      width: 350,
      child: StreamBuilder(stream: questionsOfSports.snapshots(),
        builder: (BuildContext context, AsyncSnapshot asyncsnapshot) {
          List<dynamic> question1 = asyncsnapshot.data.data()['q1']['q1Answers'];
          switch (answers) {
            case 1 :{ answerT=question1[0];}
          break;
            case 2 : {answerT=question1[1];}
          break;
            case 3 : {answerT=question1[2];}
          break;
            case 4 : {answerT=question1[3];}
          }

          return TextButton(
            onPressed: () {},
            child: Text('$answerT'),
            style: TextButton.styleFrom(
              backgroundColor: Colors.black,
            ),
          );
        },),
    );

String answerT 持有来自 statefull 小部件的参数

buildAnswerBox(questionsOfSports,4),

现在我想为每个问题和这些问题的答案循环我的数据,但我不知道如何。

【问题讨论】:

    标签: firebase flutter loops dart


    【解决方案1】:

    questionsOfSports 是什么类型并不完全清楚,但假设它是某种 T 类型的流,则在 StreamBuilder 中引用流时不需要添加 .snapshots()

    如果questionsOfSports 是一个列表,那么您需要将该列表转换为一个流(参见here)。

    话虽如此,对我来说,创建此小部件的 Stream/StreamBuilder 是最好的方法并不是很明显 - 循环遍历问题/答案列表并创建一个新的可能更简单、更容易每次按下按钮时的小部件。

    【讨论】:

    • 我需要一个你说的最后一件事的例子,我是新手,我知道streambuilder的唯一方法
    猜你喜欢
    • 2018-11-12
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多