如何使用三元条件颤振

时间:2019-03-04 08:29:53

标签: json flutter

因此每个用户分配了不同的价格,某些价格超过1,我只想显示价格属于该用户,然后才显示该价格,而不显示所有用户的所有价格,如果空白,则显示空白价格不属于用户。

屏幕截图:

///想象levelsData已经与jsonArray数据一起存储

jsonArray数据:

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

因此,我希望仅在 userId 等于 element [user_id] 时才能在图块中显示,因为以前它显示了所有内容,所以使用此代码,我可以根据该条件进行过滤,但如果不符合要求,则会显示空白。我不知道如何只显示信息而没有显示空白空间

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;
    }

1 个答案:

答案 0 :(得分:1)

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

levelsData.forEach((element) {
  if(userId == element['user_id']) {
    children.add(
      ListTile(
        dense: true,
        title: "@" + element['price'].toString()),
    );
  }
}