返回类型"主页"不是关闭上下文要求的"未来<void>"



我正在制作模式形状锁定函数。我遇到的问题是,当模式成功时,它必须转到我在另一个文件中创建的HomePage((。所以我在下面的if块中实现了return HomePage((。但是出现错误

返回类型"HomePage"不是闭包上下文所要求的"Future"。

我该如何安排?

if (pattern != null) ...[
SizedBox(height: 16),
MaterialButton(
color: Colors.green,
child:
Text("Check Pattern", style: TextStyle(color: Colors.white)),
onPressed: () async {
final result = await Navigator.pushNamed(
context,
"/check_pattern",
arguments: pattern,
);
if (result == true) {
context.replaceSnackbar(
content: Text(
"it's correct",
style: TextStyle(color: Colors.green),
),
);
return HomePage();
}
},

onPressed方法无效,void Function();不返回小部件。如果你喜欢根据条件导航新的例程,你可以用Navigator.of(context).push包装

用代替return HomePage();

Navigator.of(context).push(MaterialPageRoute(
builder: (context) => HomePage(),
));

最新更新