错误:无法调用需要常量表达式的非"const"构造函数



我已经采取了"底部导航栏";示例来构建我的应用程序。我试着实现了一个RaisedButton,如下所示:

child: Container(
child: Column(
children: <Widget>[
RaisedButton(
child: Text('Montag'),
)
],
),
),
), 

并得到以下错误消息:

lib/main.dart:48:16: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
child: Column(
^^^^^^
lib/main.dart:47:14: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
child: Container(
^^^^^^^^^

我能做什么?我知道这可能是一个糟糕的问题,但我们非常感谢您的帮助。

编辑:根据要求,这里有更多代码:

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
int _selectedIndex = 0;
static const TextStyle optionStyle =
TextStyle(fontSize: 30, fontWeight: FontWeight.bold);
static const List<Widget> _widgetOptions = <Widget>[
Text(
'Index 0: Startseite',
style: optionStyle,
),
const Center(
child: const Container(
child: Column(
children: <Widget>[
RaisedButton(
child: Text('Montag'),
)
],
),
),
),
const WebView(
initialUrl: 'mygoogledrivelink',
javascriptMode: JavascriptMode.unrestricted,
),
];

您没有显示它,但在小部件树中肯定有一个更高的const小部件构造函数,这会导致任何子小部件都需要使用const来构造。

不幸的是,并不是所有的小部件都有const构造函数,ContainerColumn就是其中的两个例子。您将无法将这些小部件构造为const构造函数的子级。

您可以尝试为所有需要const构造函数的小部件找到替换项,也可以删除父小部件中的const关键字。

删除前两个单词:"静态常量";来自:

static const List<Widget> _widgetOptions = <Widget>[
Text(
'Index 0: Startseite',
style: optionStyle,
),

最新更新