flutter - dart 变量不等于它们在对象的构造函数中设置的值
问题描述
我有一个叫做分支的类:
class Branch {
String id;
String businessName;
String businessAddress;
String businessPhone;
int status;
Branch({
businessName = "unknown",
businessAddress = "unknown",
businessPhone = "unknown",
id = "unknown",
status = -1,
});
然后我有这个简单的有状态小部件:
class PageMain extends StatefulWidget {
PageMain({Key key}) : super(key: key);
@override
_PageMainState createState() => _PageMainState();
}
class _PageMainState extends State<PageMain> {
bool _isInitalized = false;
void _initializeOnFirstBuild(){
if(!_isInitialized) {
Branch testBranch = new Branch(businessName: "test");
print(testBranch.businessName);
_isInitialized = true;
}
}
void didChangeDependencies() {
// TODO: implement didChangeDependencies
super.didChangeDependencies();
_initializeOnFirstBuild();
}
}
当尝试打印业务名称或在构造函数中存储和设置的任何其他变量时,它返回 null。(返回返回“null”而不是“test”)
解决方案
构造函数中的初始化是错误的。您需要使用this
关键字。
Branch({
this.businessName = "unknown",
this.businessAddress = "unknown",
this.businessPhone = "unknown",
this.id = "unknown",
this.status = -1,
});
推荐阅读
- python - 如何创建一个函数,返回作为参数传递的单词的变位词列表,在预定义的词典中找到?
- python - 解决 sqrt 函数 Python 中的 TypeError 错误
- django - Django admin Filter Horizontal Widget对对象数量的限制
- regex - 收集重复的 2 组模式
- pandas - 从重采样中查找最高和最低的条数
- javascript - Javascript parseInt() 函数只能工作一次?
- ios - 从 S3 Bucket SwiftUI 下载公共 PDF 文件
- javascript - 有没有更有效的方法来编写我的 JS?
- html - 浮动图像超出部分
- c++ - 如何正确交换 void 指针?