json - 如何使用三元条件-flutter
问题描述
所以每个用户都有不同的价格分配,有些人有超过 1 个价格我只想在价格属于用户时显示,那么它应该只显示该用户下的价格,而不是显示所有用户下的所有价格,如果价格不显示则显示空白t 属于用户。
截屏:
//假设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;
}
解决方案
如果您不想添加空 listTile,那么只需在将其添加到子列表之前检查条件。
levelsData.forEach((element) {
if(userId == element['user_id']) {
children.add(
ListTile(
dense: true,
title: "@" + element['price'].toString()),
);
}
}
推荐阅读
- flutter - 如何在颤动的新页面上创建 showModelBottomSheet
- r - 对 R 中的函数使用应用文件列表
- python - 删除 Python 输出中的换行符
- node.js - 有没有办法使用 express-validator 检查第一个字符是否是字母?
- javascript - Firestore 中的文档创建时间戳(服务器时间)
- sql - oracle如何统计每周的数据?
- macos - CoreMediaIO DAL 插件的生命周期是什么?
- visual-studio - 如何添加 dotnet 仅编译时依赖项
- python - 如何在 Python OR-Tools MIP 问题中获得影子价格
- html - Angular View 在更改另一个视图的值时更新