簡體   English   中英

如何在小部件中調用動態方法 - flutter

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM