首页 > 解决方案 > 当父小部件给出不同的值时如何重新初始化?

问题描述

void initState() {
    var size = widget.screensize;
    double step = size.width * widget.width;

屏幕大小由父小部件给出。

标签: flutter

解决方案


didUpdateWidget您想覆盖State. 这将在父更新widget您从中获取参数的属性时运行:

@override
void didUpdateWidget(oldWidget) {
  var size = widget.screensize;
  double step = size.width * widget.width;
  //and whatever other code you want
}

如果您不想重复代码,您可以将该代码提取到方法中并在initState和中调用它didUpdateWidget


推荐阅读