如何创建深度大于1的可诊断树?

时间:2018-12-27 13:57:27

标签: flutter

我试图通过覆盖debugFillProperties在小部件检查器中显示复杂的结构。

我遇到的问题是,深度似乎有限,此时显示的值是对象的toString

我想拥有一棵这样的树:

MyClass
  + complexObject: Foo
    + object1: Bar 
       bar: 42
    + object2: Bar
       bar: 0

但是我唯一得到的是以下内容:

MyClass
  + complexObject: Foo
     object1: Bar(bar: 42)
     object2: Bar(bar: 0)

visual

我尝试了以下操作:

@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
  super.debugFillProperties(properties);
  properties.add(
    DiagnosticsProperty(
      'foo',
      Foo(),
    ),
  );
}

Foo在哪里:

class Foo extends DiagnosticableTree{
  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty('object1', Bar(42)));
    properties.add(DiagnosticsProperty('object2', Bar(0)));
  }
}

class Bar extends Diagnosticable {
  final int value;

  Bar(this.value);

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty('value', value));
  }
}

0 个答案:

没有答案