Chr*_*ris 10 parameters function optional-parameters dart flutter
required我有一个函数,在最好的情况下应该有三个参数named。最后一个(“ finished”)应该是optional。我尝试过这样的:
static void showOverlay(BuildContext context, String text, bool successfull,
[VoidCallback? finished]) {}
Run Code Online (Sandbox Code Playgroud)
但 Flutter 抱怨:
避免位置布尔参数
奇怪的是,它只是抱怨bool successfull. 我在这里做错了什么以及如何解决这个问题?
默认情况下,命名参数是可选的。所以在你的情况下它将是:
static void showOverlay({BuildContext context, String text, bool successfull, VoidCallback? finished}) {}
Run Code Online (Sandbox Code Playgroud)
请注意构造函数中的 {},这使得您的参数被命名且可选。通过在声明前面使用@required,您可以区分必需和非必需。