Hos*_*our 30 mixins dart flutter
升级到 Flutter 3.10(和 Dart 3)后,我收到此错误:
类“PreferredSizeWidget”不能用作 mixin,因为它既不是 mixin 类也不是 mixin。
当前版本的代码:
class MyAppBar extends StatelessWidget with PreferredSizeWidget {
...
}
Run Code Online (Sandbox Code Playgroud)
Hos*_*our 87
如果您遇到同样的错误,只需将“with”更改为“implements”,如下所示:
class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
...
}
Run Code Online (Sandbox Code Playgroud)
描述:
在 Dart 3 中,与之前的版本相比,关于 mixin 的规则更加严格。正如发行说明中提到的,在 Dart 3 之前,任何类都可以用作 mixin,只要它没有声明的构造函数并且没有除 Object 之外的超类。在 Dart 3 中,在语言版本 3.0 或更高版本的库中声明的类不能用作 mixin,除非它们显式地用 mixin 关键字标记。
因此,PreferredSizeWidget 没有声明为 mixin,并且在其定义中没有 mixin 关键字。这就是为什么将其用作 mixin 时会遇到错误的原因。
| 归档时间: |
|
| 查看次数: |
19105 次 |
| 最近记录: |