所以每个用户有不同的价格分配,有些只有价格属于用户我想显示的价格超过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;
}
如果您不想添加空listTile,则只需检查条件,然后再将其添加到子列表中。
levelsData.forEach((element) {
if(userId == element['user_id']) {
children.add(
ListTile(
dense: true,
title: "@" + element['price'].toString()),
);
}
}