标题中的错误实际上意味着什么?因为我经常想到它,通常它只是通过代码进行很少的操作就消失了,这并不是什么精确的东西。
import 'package:flutter/material.dart';
import 'package:xo_xo_xo/data/matrix.dart';
这一定是我的小部件状态有问题
class _GameFieldWidgetState extends State<GameFieldWidget> {
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: widget.field.rows.asMap().entries.map((entry) {
var rowIndex = entry.key;
var rowValue = entry.value;
var border = new Border(
top: rowIndex == 0
? BorderSide.none
: new BorderSide(color: Colors.black),
bottom: rowIndex == 2
? BorderSide.none
: new BorderSide(color: Colors.black));
return Expanded(
child: DecoratedBox(
decoration: new BoxDecoration(border: border),
child: Row(
children: rowValue.asMap().entries.map((entry) {
var columnIndex = entry.key;
var columnValue = entry.value;
var onCellPressed = () {
widget.onCellPressed(rowIndex, columnIndex);
};
var border = new Border(
left: columnIndex == 0
? BorderSide.none
: new BorderSide(color: Colors.black),
right: columnIndex == 2
? BorderSide.none
: new BorderSide(color: Colors.black));
return Expanded(
child: DecoratedBox(
decoration: new BoxDecoration(border: border),
child: FlatButton(
onPressed: onCellPressed,
child: Center(
child: Text(columnValue,
style: const TextStyle(
color: Colors.black, fontSize: 48.0)))),
),
);
}).toList(),
),
),
);
}).toList());
}
}
在这种情况下我无法摆脱它。
最佳答案
我也遇到了同样的问题,很幸运找到了解决方案。您的代码看起来没问题,也可能是这样(如果 IDE 没有显示错误,则可能不是您的代码)。
这是 Dart 隐式 new
和 const
实现中的一个不幸的错误,在此处跟踪:github issue #32737
作为引用,这里是相关的flutter issue 。
什么对我有用:我添加了明确的new
。例如
return Expanded(
child: DecoratedBox(
变成了
return new Expanded(
child: new DecoratedBox(
在您的代码中。
关于flutter 在 defaultTreeNode 中未处理此问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49644910/