Skip to content

Commit 81b9c67

Browse files
authored
Merge pull request #20 from Jamesweng/master
fix FlutterError: This widget has been unmounted, so the State no longer has a context
2 parents 2388dbc + c93a2f8 commit 81b9c67

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/generators/class-generator.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { RootWidgetModel, WidgetModel, VariableModel, FormControlModel } from "../models/models";
1+
import { FormControlModel, RootWidgetModel, VariableModel, WidgetModel } from "../models/models";
2+
23
import { WidgetCodeGenerator } from "./widget-generator";
34
import { getUniqueBy } from "../utils";
45

5-
66
export class ClassCodeGenerator {
77
private readonly widgetGenerator: WidgetCodeGenerator;
88

@@ -209,7 +209,7 @@ class ${widgetName} extends StatelessWidget${mixinsCode} {
209209
...(hasController ? rootWidget.params.filter(a => !!a.name).map(a => `ctrl._${a.name} = widget.${a.name};`) : []),
210210
...controllers.filter(a => !a.isPrivate && !a.skipGenerate).map(a => `${hasController ? `ctrl._${a.name} = `: ''}${a.name} = ${a.value ? a.value : `new ${a.type}()`};`),
211211
...rootWidget.vars.map(a => `${hasController ? `ctrl._${a.name} = `: ''}${a.name} = ${a.value};`),
212-
...(hasController ? [`WidgetsBinding.instance.addPostFrameCallback((_) => ctrl.afterFirstBuild(context));`] : [])
212+
...(hasController ? [`WidgetsBinding.instance.addPostFrameCallback((_) => mounted ? ctrl.afterFirstBuild(context) : null);`] : [])
213213
];
214214
const superParams = rootWidget.params
215215
.filter(a => a.superParamName)
@@ -327,4 +327,4 @@ class ${rootWidget.controller} extends ${rootWidget.controller}Base {
327327

328328
return new Array(...new Set(res));
329329
}
330-
}
330+
}

0 commit comments

Comments
 (0)