[英]How to call dynamic method in widget - flutter
我是 flutter 的新手。 我正在使用 SharedPreferences 来存储数据。 我有这个动态 function:
_loadFromLocal(index) async {
var data = await getFromLocal();
return data?.elementAt(index);
}
Future<List<String>?> getFromLocal() async {
SharedPreferences pref = await SharedPreferences.getInstance();
return pref.getStringList('data_prices');
}
我需要在 Widget 构建中调用这个动态函数 _loadFromLocal
class _ScanState extends State<Scan> {
@override
Widget build(BuildContext context) {
return
Scaffold(
child: Container(
child:Text(
_loadFromLocal(0),
)),);
}
}
我怎样才能做到这一点
您不能像您提到的那样调用异步代码,而是应该在initState()
中调用它,如下所示
class _ScanState extends State<Scan> {
dynamic value;
@override
void initState() {
super.initState();
_loadFromLocal(0).then((data) {
setState(() {
value = data;
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Text(
value ?? '',
),
),
);
}
// omit the rest code
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.