我试图通过覆盖debugFillProperties
在小部件检查器中显示复杂的结构。
我遇到的问题是,深度似乎有限,此时显示的值是对象的toString
。
我想拥有一棵这样的树:
MyClass
+ complexObject: Foo
+ object1: Bar
bar: 42
+ object2: Bar
bar: 0
但是我唯一得到的是以下内容:
MyClass
+ complexObject: Foo
object1: Bar(bar: 42)
object2: Bar(bar: 0)
我尝试了以下操作:
@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));
}
}