getter 'preferredSize' 没有为类型 'Widget' 定义

时间:2021-05-05 04:53:30

标签: flutter dart

error 1

Errors

@override
  Widget build(BuildContext context) {
    final mediaQuery = MediaQuery.of(context);
    final isLandscape = mediaQuery.orientation == Orientation.landscape;
    final appBar = Platform.isIOS
        ? CupertinoNavigationBar(
            middle: Text(
              'Personal Expenses',
            ),
            trailing: Row(
              mainAxisSize: MainAxisSize.min,
              children: <Widget>[
                GestureDetector(
                  child: Icon(CupertinoIcons.add),
                  onTap: () => _startAddNewTransaction(context),
                ),
              ],
            ),
          )
        : AppBar(
            title: Text(
              'Personal Expenses',
            ),
            actions: <Widget>[
              IconButton(
                icon: Icon(Icons.add),
                onPressed: () => _startAddNewTransaction(context),
              ),
            ],
          );
<块引用>

没有为“Widget”类型定义 getter 'preferredSize'。

    final txListWidget = Container(
      height: (mediaQuery.size.height -
              appBar.preferredSize.height -
              mediaQuery.padding.top) *
          0.7,
<块引用>

无法将参数类型“Widget”分配给参数类型“ObstructingPreferredSizeWidget?”

 return Platform.isIOS
    ? CupertinoPageScaffold(
        child: pageBody,
        navigationBar: appBar,
      )
<块引用>

无法将参数类型“Widget”分配给参数类型“PreferredSizeWidget?”

: Scaffold(
        appBar: appBar,
        body: pageBody,

2 个答案:

答案 0 :(得分:0)

请为变量 appBar 使用数据类型

final PreferredSizeWidge appBar = Platform.isIOS ? ......

答案 1 :(得分:0)

Skey 类型从 appbarPreferredSizeWidget 更改为 Widget