Browse Source

修复关闭页面时UI报错

loki.wu 2 years ago
parent
commit
1184457709
1 changed files with 16 additions and 20 deletions
  1. 16 20
      lib/report_edit.dart

+ 16 - 20
lib/report_edit.dart

@@ -48,16 +48,11 @@ class _ReportEditPageState extends State<ReportEditPage> {
   List<IBlockElement> _blocks = [];
   List<IBlockElement> _header = [];
   List<IBlockElement> _footer = [];
-  double _baseFontSize = 9.0;
-  double _footerDistance = 34.0;
-  double _footerHeight = 0;
   EdgeInsetsGeometry _padding = EdgeInsets.all(PtToPxConverter.ptToPx(56.83));
   bool isInit = false;
 
   @override
   initState() {
-    // _intitTemplate();
-    // _initListentener();
     super.initState();
   }
 
@@ -157,12 +152,14 @@ class _ReportEditPageState extends State<ReportEditPage> {
         ReportInfo.instance.selectedInputImage(e);
       });
       ReportInfo.instance.onClose.addListener((sender, e) {
-        setState(() {
-          _header.clear();
-          _blocks.clear();
-          _footer.clear();
-          widget.onSelect.dispose();
-        });
+        if (mounted) {
+          setState(() {
+            _header.clear();
+            _blocks.clear();
+            _footer.clear();
+            widget.onSelect.dispose();
+          });
+        }
       });
     } else {
       widget.onSelect.addListener((sender, e) {
@@ -182,12 +179,14 @@ class _ReportEditPageState extends State<ReportEditPage> {
       ReportInfo.instance.onReloadFinsh.emit(this, '');
     });
     ReportInfo.instance.onClose.addListener((sender, e) {
-      setState(() {
-        _header.clear();
-        _blocks.clear();
-        _footer.clear();
-        widget.onSelect.dispose();
-      });
+      if (mounted) {
+        setState(() {
+          _header.clear();
+          _blocks.clear();
+          _footer.clear();
+          widget.onSelect.dispose();
+        });
+      }
     });
   }
 
@@ -195,9 +194,6 @@ class _ReportEditPageState extends State<ReportEditPage> {
     try {
       _height = PtToPxConverter.ptToPx(_reportTemplate.pageSize!.height);
       _width = PtToPxConverter.ptToPx(_reportTemplate.pageSize!.width);
-      _baseFontSize = PtToPxConverter.ptToPx(_reportTemplate.baseFontSize);
-      _footerDistance = PtToPxConverter.ptToPx(_reportTemplate.footerDistance);
-      _footerHeight = PtToPxConverter.ptToPx(_reportTemplate.footerHeight);
       final pagePadding =
           _reportTemplate.pagePadding ?? RTThickness.uniform(56);
       _padding = EdgeInsets.only(