Flutter报错:Future<void>无法赋值给参数类型Future<void> Function()
问题解决:参数类型不匹配错误
问题原因
RefreshIndicator的onRefresh参数要求的是无参、返回Future<void>的函数类型(即Future<void> Function()),但你写updateData()时,是直接调用了这个函数,得到的是函数执行后的返回值Future<void>,这就导致类型不匹配——把一个Future对象传给了需要函数的参数。
修复方案
把括号去掉,直接传递函数引用即可:
RefreshIndicator( onRefresh: updateData, // 移除后面的() ... )
补充说明
你的updateData函数本身返回类型就是Future<void>,完全符合onRefresh的要求。只需要传递函数本身,无需主动执行,下拉刷新触发时RefreshIndicator会自动调用这个函数。
内容的提问来源于stack exchange,提问作者Michael S
相关产品推荐
相关产品推荐

