升级到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关键字.这就是将其用作混合时遇到错误的原因.

Flutter相关问答推荐

从Flutter应用程序解释蓝牙BLE数据:了解Sylvania压力值

手势捕获的异常:类型';Double';不是类型转换中类型';Double';的子类型

底部导航栏项目在抖动中不更改 colored颜色

为什么Riverpod生成器在这种情况下不生成AsyncNotiator?

Flutter 翼future 建造者不断开火和重建.它在每次重建时都会生成一个新的随机数--我如何防止这种情况?

在Flutter 中每次点击按钮时都很难调用自定义函数

在VSCode中运行应用程序而不进行调试时,控制台仍显示为调试模式

如何使listview.builder在筛选列表后实时更新

如何对齐 AppBar Actions 中的文本?

获取通过列表呈现的相同 TextEditingController 的值

允许文本小部件在容器之间溢出

Flutter firebase_auth 和 firebase_core 依赖错误

如何删除图像边框半径与其父容器边框半径之间的空白

Flutter 动画页面计数器文本

Flutter Websockets MacOS:相同的代码在调试模式下有效,但在发布模式下无效:(操作系统错误:提供了 node 名或服务名..)

Flutter RawMaterialButton 常量相对大小

仅使用 Flutter 在本地环境中托管 Web 服务器

从物理设备 Flutter 中移除 USB 后启动画面不可见?

在 flutter 中使用 Firebase 实时数据库数据创建无限滚动效果

Flutter 在气泡聊天消息上对齐时间戳文本