flutter 如何显示来自API的项目

uxh89sit  于 2023-02-20  发布在  Flutter
关注(0)|答案(1)|浏览(104)

我已经成功地用ListView.builder显示了项目,现在我想在API中根据它们的ACTIVE或INACTIVE状态来显示项目。所以当我想显示ACTIVE时,它只显示活动的项目,而INACTIVE也是如此。

API如下所示:
第一节第一节第一节第二节第一节
我不必附加标识1100,因为它与标识1200一样是ACTIVE
我的代码是这样的:

BlocBuilder<ExcavatorBloc, ExcavatorState>(
                    builder: (context, state) {
                      return ListView.builder(
                        itemCount: state.excavator.length,
                        itemBuilder: (context, index) {
                          return Row(
                            children: [
                              const SizedBox(
                                height: 10,
                                width: 10,
                                child: CircleAvatar(
                                  foregroundColor:
                                      ColorName.brandSecondaryGreen,
                                  backgroundColor:
                                      ColorName.brandSecondaryGreen,
                                ),
                              ),
                              const SizedBox(
                                width: 5,
                              ),
                              Text(
                                state.excavator[index].identity,
                                style: subtitle1(),
                              ),
                            ],
                          );
                        },
                      );
                    },
                  ),
6l7fqoea

6l7fqoea1#

我将这样做,而不必为活动设备创建额外的计数器:

return ListView.builder(
  itemCount: state.excavator.length,
  itemBuilder: (context, index) {
    return Visibility(
      visible: state.excavator[index].status == "ACTIVE" ? true : false,
      child: Row(
        children: [
          const SizedBox(
            height: 10,
            width: 10,
            child: CircleAvatar(
              foregroundColor: ColorName.brandSecondaryGreen,
              backgroundColor: ColorName.brandSecondaryGreen,
            ),
          ),
          const SizedBox(
            width: 5,
          ),
          Text(
            state.excavator[index].identity,
            style: subtitle1(),
          ),
        ),
    ],
  );

相关问题