升级到Ffltter 3.10(和DART 3)后,我收到以下错误:
类"PferredSizeWidget"不能用作混合输入,因为它是 既不是Mixin类也不是Mixin.
代码的当前版本:
class MyAppBar extends StatelessWidget with PreferredSizeWidget {
...
}
升级到Ffltter 3.10(和DART 3)后,我收到以下错误:
类"PferredSizeWidget"不能用作混合输入,因为它是 既不是Mixin类也不是Mixin.
代码的当前版本:
class MyAppBar extends StatelessWidget with PreferredSizeWidget {
...
}
如果您收到相同的错误,只需将"with"改为"Implementes",如下所示:
class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
...
}
Description:个
在DART 3中,与以前的版本相比,关于Mixin的规则变得更加严格.正如在the release notes中提到的,在DART 3之前,任何类都可以用作Mixin,只要它没有声明的构造函数,也没有除Object之外的超类.在DART 3中,在语言版本3.0或更高版本的库中声明的类不能用作Mixin,除非它们显式地用Mixin关键字标记.
因此,PferredSizeWidget没有声明为Mixin,并且在其定义中没有Mixin关键字.这就是将其用作混合时遇到错误的原因.