flutter 在 defaultTreeNode 中未处理此问题

标签 flutter

标题中的错误实际上意味着什么?因为我经常想到它,通常它只是通过代码进行很少的操作就消失了,这并不是什么精确的东西。

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 隐式 newconst 实现中的一个不幸的错误,在此处跟踪: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/

相关文章:

sharedpreferences - Flutter:从其他页面访问存储的 Sharedpreference 值

flutter - 如何减少Flutter中抽屉图标旁边的空白?

sqlite - Flutter SQLite数据库表存在但未被SQFLite检测到

firebase - 如何在 flutter 和 firebase 中使用不同类型的用户登录?

flutter - 如何在 flutter 中从元素中心旋转堆栈?

android - 如何在 flutter/dart 中捕获 platformException?

dart - Flutter 执行顺序 : build and initState

dart - Flutter:约束不约束小部件(需要解释)

flutter - Dart/Flutter 主题类(class)代码的字符串转换

android - Flutter - InkWell 对 Flexible 内部的 onTap 没有反应