什么是“常量创造的参数必须是飞镖中的常量表达式”?

时间:2018-04-20 14:36:17

标签: dart flutter

我不知道为什么dart编译器会在我的代码中显示错误。这究竟意味着什么?谢谢。

来源:

          const SliverAppBar(
        pinned: true,
        expandedHeight: 300.0, // TODO: check out later
        flexibleSpace: FlexibleSpaceBar(
            title: new Column(
              mainAxisAlignment: MainAxisAlignment.end,
              children: <Widget>[
                Text('_SliverAppBar'),
                Text('subtitle'),
              ],
            ),
            background: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text('Info'),
              ],
            )),

enter image description here

1 个答案:

答案 0 :(得分:4)

我已经评论了导致该问题的原始答案。但这就是为什么:

正如@aziza指出的那样,您已使用SliverAppBar关键字对const进行了实例化。因此,应使用const实例化所有属性。

在您的情况下,只需从new Column更改为const Column即可解决问题,但是,dart 2可以推断它将如何实例化该类。只需省略newconst关键字,然后让dart完成工作。