Big*_*gPP 1 dart flutter flutter-getx
现在我总是像这样使用 getx 可观察声明:
var someString = ''.obs;
var someNumber = 0.obs;
Run Code Online (Sandbox Code Playgroud)
等等...
但是,如果某些变量一开始没有初始值,而我实际上希望它们为空然后更改它们呢?
小智 9
如果您的 [Rx] 值没有初始值(第一次),则需要使用
final Rx<YourObject?> yourObject = (null as YourObject?).obs;
Run Code Online (Sandbox Code Playgroud)
或者为了更好地组织代码,您可以创建一个单独的类,如下所示
class RxNullable<T> {
Rx<T> setNull() => (null as T).obs;
}
Run Code Online (Sandbox Code Playgroud)
并使用:
final Rx<YourObject?> yourObject = RxNullable<YourObject?>().setNull()
Run Code Online (Sandbox Code Playgroud)
对于非空安全(在 Dart 2.12 之前),您可以像这样声明您的可观察变量:
final someVariable = Rx<Type>();
Run Code Online (Sandbox Code Playgroud)
例如:
final someString = Rx<String>();
final someNumber = Rx<int>();
Run Code Online (Sandbox Code Playgroud)
对于空安全(Dart 2.12 或更高版本),只需使用Rxn<Type>代替Rx<Type>。
例如:
final someString = Rxn<String>();
final someNumber = Rxn<int>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |