为什么要在 Flutter 的有状态 widget 中使用debugFillProperties ?我见过一些像Slider这样的 flutter 内置状态小部件使用这种方法。
我浏览了这里给出的 Flutter 文档。我仍然无法理解debugFillProperties的实际用法。何时或为何使用它?
我在我的示例代码中尝试过,仍然无法理解。我在 Flutter 中没有找到任何关于此方法的文档或相关信息。
double? min;
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
print("--------------Debug-------------");
properties.add(IntProperty('min', min, defaultValue: 5, ifNull: "nulll"));
}
Run Code Online (Sandbox Code Playgroud)
Rez*_*ari 10
通过重写debugFillProperties函数,我们可以在详细信息树中显示变量(状态)的当前值
示例:不重写此方法:
class _MyHomePageState extends State<MyHomePage> {
late MyColorScheme _myColorScheme;
int _counter = 0;
@override
void initState() {
_myColorScheme = MyColorScheme(Colors.black, Colors.white);
super.initState();
}
}
Run Code Online (Sandbox Code Playgroud)
重写此方法:
class _MyHomePageState extends State<MyHomePage> {
late MyColorScheme _myColorScheme;
int _counter = 0;
@override
void initState() {
_myColorScheme = MyColorScheme(Colors.black, Colors.white);
super.initState();
}
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(IntProperty('_counter', _counter));
properties.add(
DiagnosticsProperty<MyColorScheme>('myColorScheme', _myColorScheme));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |