Flutter条件表达式编写求助:Firebase字段的Text显示逻辑
正确的表达式写法
根据你的需求,不管qs['email']是否为空,只要qs['username']存在就显示它,最简洁的写法是:
Text(qs['username'] ?? '')
如果需要处理qs['username']也为空的极端情况(比如兜底显示邮箱或默认文本),可以这样写:
Text(qs['username'] ?? qs['email'] ?? '未设置名称')
你原写法的问题
- Dart中三元表达式的条件必须是布尔值(
bool类型),直接用qs['email'](字符串或null)作为条件会触发语法报错。 - 逻辑分支完全写反,即便条件合法,也不符合你要的显示规则。
内容的提问来源于stack exchange,提问作者dvrcksoft
相关产品推荐
相关产品推荐

