在 null_safety 中让 TextEditingController 为空
Let TextEditingController be null in null_safety
我已将我的项目转换为 null-safety Dart 2。转换后我一直在解决问题。现在,我需要更改此行
clientFNameController.text = widget.trxns!['clientFName'];
所以
clientFNameController.text = null;
这是声明控制器的行:
final clientNameController = TextEditingController();
我试过了
clientFNameController?.text = widget.trxns!['clientFName'];
还有这个
clientFNameController.text = widget.trxns?['clientFName'];
这一行要怎么写
clientFNameController.text = widget.trxns['clientFName'];
所以这可能是真的
clientFNameController.text = null;
您不能将 TextEditingController
的 text
属性 设置为 null
,因为 setter 的类型是 String
,不是 String?
.
但是您可以使用空字符串 ""
。例如,如果您希望您的文本字段在非空的情况下具有 widget.trxnw['clientFName']
的文本,否则为空,您可以使用如下内容:
String? clientFName = widget.trxnw['clientFName'];
if (clientFName == null) {
clientFNameController.text = "";
} else {
clientFNameController.text = clientFName;
}
这可以缩短为:
String clientFName = widget.trxns['clientFName'] ?? ""; // "if null" operator
clientFNameController.text = clientFName;
或进一步缩短为:
clientFNameController.text = widget.trxns['clientFName'] ?? "";
我已将我的项目转换为 null-safety Dart 2。转换后我一直在解决问题。现在,我需要更改此行
clientFNameController.text = widget.trxns!['clientFName'];
所以
clientFNameController.text = null;
这是声明控制器的行:
final clientNameController = TextEditingController();
我试过了
clientFNameController?.text = widget.trxns!['clientFName'];
还有这个
clientFNameController.text = widget.trxns?['clientFName'];
这一行要怎么写
clientFNameController.text = widget.trxns['clientFName'];
所以这可能是真的
clientFNameController.text = null;
您不能将 TextEditingController
的 text
属性 设置为 null
,因为 setter 的类型是 String
,不是 String?
.
但是您可以使用空字符串 ""
。例如,如果您希望您的文本字段在非空的情况下具有 widget.trxnw['clientFName']
的文本,否则为空,您可以使用如下内容:
String? clientFName = widget.trxnw['clientFName'];
if (clientFName == null) {
clientFNameController.text = "";
} else {
clientFNameController.text = clientFName;
}
这可以缩短为:
String clientFName = widget.trxns['clientFName'] ?? ""; // "if null" operator
clientFNameController.text = clientFName;
或进一步缩短为:
clientFNameController.text = widget.trxns['clientFName'] ?? "";