[英]Get Flutter State Value from Static Method
我们如何从 flutter 中的 static 方法中获取 state 值? ,我有一部 state 被叫电话,需要在某些 static 方法中使用这些 state 值。
String phone = '';
@override
void initState() {
super.initState();
getPhoneString();
}
void getPhoneString() async
{
// basiclly just get the value from sharef pref
setState(() {
phone = 'myhpone-string';
});
}
static Future<Void> Process() async {
// get phone state value
}
据我了解,解决方案是当您调用initState()
页面“类状态”将存储到另一个 static 值中,您的代码将是:
String phone = '';
static phone myPhoneState;
@override
void initState() {
super.initState();
getPhoneString();
***myPhoneState = this;***
}
void getPhoneString() async
{
// basiclly just get the value from sharef pref
setState(() {
phone = 'myhpone-string';
});
}
static Future<Void> Process() async {
// get phone state value
}
像这样,您可以随时调用页面 state 及其方法,并且可以随时调用“按钮、对话框......”
如果您想在 static 方法中使用本地 class 变量,您有两个选择。
不推荐第一个选项。 对于第二个选项,您可以像这样更改 static 方法:
static Future<Void> Process(String param) async {
// use phone parameter
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.