Conditional ListView.builder

问题描述 投票:0回答:1
return ListView.builder(
                        itemCount: snapshot.data.length,
                        itemBuilder: (BuildContext context, int index) {
                          final bool alreadySaved =
                              _saved.contains(snapshot.data[index]);
                          if (!snapshot.data[index].isParliamentary) {
                            return ListTile(
                              title: Text(snapshot.data[index].name,
                                  style: TextStyle(
                                    fontSize: 20.0,
                                    fontWeight: FontWeight.bold,
                                  )),
                              trailing: Icon(
                                alreadySaved
                                    ? Icons.favorite
                                    : Icons.favorite_border,
                                color: alreadySaved ? Colors.red : null,
                              ),
                              onTap: () {
                                setState(() {
                                  if (alreadySaved) {
                                    _saved.remove(snapshot.data[index]);
                                    print(_saved);
                                  } else {
                                    _saved.add(snapshot.data[index]);
                                    print(_saved);
                                  }
                                });
                              },
                            );
                          }
                        });

[尝试在我的JSON文件中使用布尔语句'isParliamentary'创建条件ListView.builder。 'isParliamentary'值为'false'的对象根本不会显示。我需要其他声明吗?

listview flutter builder
1个回答
0
投票

您需要始终返回一些东西,否则Flutter将不知道在屏幕上绘制什么。

© www.soinside.com 2019 - 2024. All rights reserved.