0

我想将从 futureBuilder 获得的数据显示到表中,这是我尝试过的代码,但是当我运行浏览时出现这样的错误

         FutureBuilder(
      future: UserController.getActivity(_selectedUser),
      builder: (context, snapshot) {
        if (snapshot.hasData != null) {
          return ListView.builder(
            itemCount: snapshot.data.length,
            itemBuilder: (context, position){
              var item = snapshot.data.elementAt(position);
              return Container(
            child: Table(
                children: List<TableRow>.generate(10, (i) {
                  return TableRow(
                      decoration: BoxDecoration(
                          border: Border(
                              bottom: BorderSide(
                                  width: 0.5, color: Colors.grey))),
                      children: [
                        Container(
                          padding: EdgeInsets.all(18),
                          child: Text(
                            //data[i].author.toString(),
                            "${item["activity"]["project"]}",
                            style: TextStyle(
                              fontSize: 14,
                              color: Colors.black,
                            ),
                          ),
                        ),
                        Container(
                          padding: EdgeInsets.all(18),
                          child: Text(
                            //data[i].stars.toString(),
                            item["created_at"],
                            style: TextStyle(
                              fontSize: 14,
                              color: Colors.black,
                            ),
                          ),
                        )
                      ]);
                })),
          );

            }
          );

        }
      },
    ),

如果我在显示数据时使用listView,它会变得无效,因为数据很多

4

1 回答 1

0

错误在此行

itemCount:snapshot.data.length,

length在快照中找不到。您需要检查 future 返回的返回类型UserController

为了验证您的代码是否工作正常,您可以设置默认值

只是为了验证 UI 工作正常

项目数:10

之后,您需要检查您的返回类型。

于 2019-07-12T08:39:03.440 回答