[英]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.