Flutter中Dialog无法赋值给builder参数的类型错误求助
问题解决:Dialog无法分配给builder参数的错误
错误原因
showDialog的builder参数要求传入一个接收BuildContext参数并返回Widget的函数,你直接传了Dialog实例,类型不匹配导致报错。另外你还多套了一层箭头函数,导致showDialog根本没被调用,就算没报错点击也不会弹出对话框。
修正后的代码
onPressed: () async { switch (currentScreen.toString()) { case 'OverviewScreen': showDialog( context: context, builder: (context) => const Dialog(child: FormBasicDetails())); break; } },
关键修改点
- 去掉外层多余的
() =>,确保showDialog能被直接调用 - 将
builder的值改为(context) => const Dialog(...),这是一个符合要求的函数:接收BuildContext参数,返回Dialog组件
内容的提问来源于stack exchange,提问作者best_of_man
相关产品推荐
相关产品推荐

