在 Flutter 中将 null 分配给 File 变量
Assignment of null to File variable in Flutter
如何将 null 分配给 File 变量。将 null 分配给 File 变量时出现错误。
File myImage=null;
(myImage==null)?
CircleAvatar(
backgroundImage:AssetImage('assets/user_new.png'),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
:
CircleAvatar(
backgroundImage:FileImage(myImage),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
我想你启用了 nullsafety。使用 nullsafety,没有 ?
声明的变量不能是 null
。要解决您的问题,请执行以下操作。
File? myImage = null;
在 Flutter 中 空安全 是一回事。
有了它,没有 ?
的变量就不能为 null。在您的 File
声明中添加一个问号,如:
File? myImage = null;
在你的代码中,如果你想将它分配给 backgroundImage
参数。您有 2 个选择:
backgroundImage:FileImage(myImage!) //Null check: Exception throw only if null
backgroundImage:FileImage(myImage ?? _anotherWorkingFile) //If: use another standard file if null
声音 null safety 在 Dart 2.12 和 Flutter 2 中可用。
使用变量时,您声明的变量默认为 non-nullable,要使它们可为空,您必须在 datatype
.
之后使用 ?
示例:
int? i = null
在你的情况下,它将是
File? myImage=null;
您可以像下面这样使用它:
(myImage==null)?
CircleAvatar(
backgroundImage:AssetImage('assets/user_new.png'),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
:
CircleAvatar(
backgroundImage:FileImage(myImage!),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
此处使用 myImage
时,您将使用 !
告诉程序 myImage
不会为空。
Note: We should avoid using !
wherever possible as it can cause a run time
error but in your case, you are already checking for the null using a
ternary operator so you can safely use !
.
如何将 null 分配给 File 变量。将 null 分配给 File 变量时出现错误。
File myImage=null;
(myImage==null)?
CircleAvatar(
backgroundImage:AssetImage('assets/user_new.png'),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
:
CircleAvatar(
backgroundImage:FileImage(myImage),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
我想你启用了 nullsafety。使用 nullsafety,没有 ?
声明的变量不能是 null
。要解决您的问题,请执行以下操作。
File? myImage = null;
在 Flutter 中 空安全 是一回事。
有了它,没有 ?
的变量就不能为 null。在您的 File
声明中添加一个问号,如:
File? myImage = null;
在你的代码中,如果你想将它分配给 backgroundImage
参数。您有 2 个选择:
backgroundImage:FileImage(myImage!) //Null check: Exception throw only if null
backgroundImage:FileImage(myImage ?? _anotherWorkingFile) //If: use another standard file if null
声音 null safety 在 Dart 2.12 和 Flutter 2 中可用。
使用变量时,您声明的变量默认为 non-nullable,要使它们可为空,您必须在 datatype
.
?
示例:
int? i = null
在你的情况下,它将是
File? myImage=null;
您可以像下面这样使用它:
(myImage==null)?
CircleAvatar(
backgroundImage:AssetImage('assets/user_new.png'),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
:
CircleAvatar(
backgroundImage:FileImage(myImage!),
backgroundColor: Colors.cyanAccent,
radius: 70,
)
此处使用 myImage
时,您将使用 !
告诉程序 myImage
不会为空。
Note: We should avoid using
!
wherever possible as it can cause a run time error but in your case, you are already checking for the null using a ternary operator so you can safely use!
.