flutter - 如何在小部件树中编写具有空安全性的代码
问题描述
我在基于 String null 安全值动态显示 Text 小部件时遇到问题。所以,如果我写这样的条件:
String? _selected;
String _placeholer = "select";
Row(
children: [
if (_selected != null) Text(_placeholer) else Text(_selected!),
],
),
或者
Row(
children: [
_selected!.isEmpty ? Text(_placeholer) : Text(_selected!),
],
),
控制台返回此错误:
意外的空值。
在视图上我有红色容器而不是这个文本。我该如何解决?
解决方案
看来你在这里犯了一个错误。
children: [
if (_selected != null) Text(_placeholer) else Text(_selected!),
],
像这样改变它:
children: [
if (_selected == null) Text(_placeholer) else Text(_selected!),
],
更好的版本是这样的:
children: [
Text(_selected ?? _placeholder)
]
推荐阅读
- spring-boot - 即使在配置之后也没有使用 Spring Boot jpa 二级缓存
- javascript - (反应)如何重定向到搜索结果页面
- c++ - 为什么此代码适用于 C++ 中的 2 Keys Keyboard 问题?
- javascript - 从 id 元素传递值并计算价格
- database - 到列日期之间的所有行
- r - 如何在框内添加文本,并在 R 闪亮中绘制情节?
- google-contacts-api - Contacts API 是否有替代的 People API 功能来搜索联系人并返回大约 100 个联系人?
- windows - 如何从屏幕截图中获取数据缓冲区并使用 Windows.Graphics.Capture 单独保存
- powerbi - 如何在 Power BI 中使用多个 AND 操作?
- spring-boot - Spring Boot中JSP页面中如何使用模型和视图addObject?