【发布时间】:2021-05-28 08:30:52
【问题描述】:
Scaffold(
appBar: _buildAppBar(),
)
函数如下:
Widget _buildAppBar() => AppBar(); // Error
在我将代码迁移到 null 安全性之前,这段代码运行良好。
【问题讨论】:
Scaffold(
appBar: _buildAppBar(),
)
函数如下:
Widget _buildAppBar() => AppBar(); // Error
在我将代码迁移到 null 安全性之前,这段代码运行良好。
【问题讨论】:
Dart 空安全不允许向下转换,因此您不能将 Widget 分配给 PreferredSizeWidget,就像您不能将 Object 分配给 String 一样(这在空安全之前是可能的) .
您应该更改您的函数并从中返回 AppBar 或 PreferredSizeWidget。
AppBar _buildAppBar() => AppBar();
或
PreferredSizeWidget _buildAppBar() => AppBar();
【讨论】:
我无法发表评论,但 iDecode 的答案是正确的
AppBar customAppBar(String title, bool centerTitle, List<Widget> actions) {}
这个错误是空的。
【讨论】:
Scaffold(
appBar: _buildAppBar() as PreferredSizeWidget?,
)
【讨论】: