簡體   English   中英

顫振 - 未來<void>不能賦值給參數類型Future<void> 功能()

[英]Flutter - Future<void> can not be assigned to the parameter type Future<void> Function()

我想我是盲人,但我看不到問題......也許有人可以幫助我。

問題出在“onRefresh: updateData()”這一行,完整的消息是“無法將參數類型‘Future’分配給參數類型‘Future Function()’。”

late Future<DocumentSnapshot> dataFuture;

Future<void> updateData() async {
  setState(() {
    dataFuture = getData();
  });
}

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: RefreshIndicator(
      onRefresh: updateData(),
      ...

我認為問題在於您正在調用該函數而不是將其作為參數提供-應該只是updateData而不是updateData()

onRefresh需要一個回調(一個函數),然后在刷新事件時執行。 這里 dart 告訴您您提供了錯誤的參數類型 - Future (調用updateData的結果)而不是函數。

如果你想使用asyncawait

代替,

onRefresh: updateData(),

至,

 onRefresh: () async {
   await updateData();
    },
onRefresh: () async {
          updateData();
          return Future.delayed(const Duration(seconds: 1));
        }

void updateData() async {
  setState(() {
    dataFuture = getData();
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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