如何使用三元条件颤振

问题描述 投票:1回答:1

所以每个用户有不同的价格分配,有些只有价格属于用户我想显示的价格超过1,那么它应该只显示该用户下的价格,而不是显示所有用户下的所有价格,如果价格没有显示空白属于用户。

截图:

//想象levelsData已经存储了jsonArray数据

jsonArray数据:

{
    "price":  1540,
    "user_id": "user2"
}

所以我希望只有当userId等于element [user_id]才能在tile中显示,因为之前它显示了所有内容,所以使用这段代码我能够根据那个条件进行过滤,但如果它不符合要求,它显示了一个空的空间。我不知道如何只显示没有显示空白空间的信息

var levelsData = [];


class StuffInTiles extends StatelessWidget {
  final String userId;
  final int price;

  StuffInTiles(this.userId, this.price);

  @override
  Widget build(BuildContext context) {
    List<dynamic> _getChildren() {
      List<Widget> children = [];
      levelsData.forEach((element) {
        children.add(
          ListTile(
            dense: true,
            title: Text(
                userId == element['user_id']
                    ? "@" + element['price'].toString()
                    : ""),
          ),
        );
      });
      return children;
    }
json flutter
1个回答
1
投票

如果您不想添加空listTile,则只需检查条件,然后再将其添加到子列表中。

levelsData.forEach((element) {
  if(userId == element['user_id']) {
    children.add(
      ListTile(
        dense: true,
        title: "@" + element['price'].toString()),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.