@@ -7,11 +7,11 @@ import 'package:flutter_html/src/html_elements.dart';
77import 'package:flutter_html/style.dart' ;
88import 'package:html/dom.dart' as dom;
99
10+ export 'package:flutter_html/custom_render.dart' ;
1011//export render context api
1112export 'package:flutter_html/html_parser.dart' ;
1213//export render context api
1314export 'package:flutter_html/html_parser.dart' ;
14- export 'package:flutter_html/custom_render.dart' ;
1515//export src for advanced custom render uses (e.g. casting context.tree)
1616export 'package:flutter_html/src/anchor.dart' ;
1717export 'package:flutter_html/src/interactable_element.dart' ;
@@ -60,8 +60,8 @@ class Html extends StatefulWidget {
6060 this .onImageTap,
6161 this .tagsList = const [],
6262 this .style = const {},
63- }) : documentElement = null ,
64- assert (data != null ),
63+ }) : documentElement = null ,
64+ assert (data != null ),
6565 _anchorKey = anchorKey ?? GlobalKey (),
6666 super (key: key);
6767
@@ -78,7 +78,7 @@ class Html extends StatefulWidget {
7878 this .onImageTap,
7979 this .tagsList = const [],
8080 this .style = const {},
81- }) : data = null ,
81+ }) : data = null ,
8282 assert (document != null ),
8383 this .documentElement = document! .documentElement,
8484 _anchorKey = anchorKey ?? GlobalKey (),
@@ -97,7 +97,7 @@ class Html extends StatefulWidget {
9797 this .onImageTap,
9898 this .tagsList = const [],
9999 this .style = const {},
100- }) : data = null ,
100+ }) : data = null ,
101101 assert (documentElement != null ),
102102 _anchorKey = anchorKey ?? GlobalKey (),
103103 super (key: key);
@@ -154,13 +154,20 @@ class Html extends StatefulWidget {
154154}
155155
156156class _HtmlState extends State <Html > {
157- late final dom.Element documentElement;
157+ late dom.Element documentElement;
158158
159159 @override
160160 void initState () {
161161 super .initState ();
162- documentElement =
163- widget.data != null ? HtmlParser .parseHTML (widget.data! ) : widget.documentElement! ;
162+ documentElement = widget.data != null ? HtmlParser .parseHTML (widget.data! ) : widget.documentElement! ;
163+ }
164+
165+ @override
166+ void didUpdateWidget (Html oldWidget) {
167+ super .didUpdateWidget (oldWidget);
168+ if ((widget.data != null && oldWidget.data != widget.data) || oldWidget.documentElement != widget.documentElement) {
169+ documentElement = widget.data != null ? HtmlParser .parseHTML (widget.data! ) : widget.documentElement! ;
170+ }
164171 }
165172
166173 @override
@@ -232,7 +239,7 @@ class SelectableHtml extends StatefulWidget {
232239 this .tagsList = const [],
233240 this .selectionControls,
234241 this .scrollPhysics,
235- }) : documentElement = null ,
242+ }) : documentElement = null ,
236243 assert (data != null ),
237244 _anchorKey = anchorKey ?? GlobalKey (),
238245 super (key: key);
@@ -250,7 +257,7 @@ class SelectableHtml extends StatefulWidget {
250257 this .tagsList = const [],
251258 this .selectionControls,
252259 this .scrollPhysics,
253- }) : data = null ,
260+ }) : data = null ,
254261 assert (document != null ),
255262 this .documentElement = document! .documentElement,
256263 _anchorKey = anchorKey ?? GlobalKey (),
@@ -269,7 +276,7 @@ class SelectableHtml extends StatefulWidget {
269276 this .tagsList = const [],
270277 this .selectionControls,
271278 this .scrollPhysics,
272- }) : data = null ,
279+ }) : data = null ,
273280 assert (documentElement != null ),
274281 _anchorKey = anchorKey ?? GlobalKey (),
275282 super (key: key);
0 commit comments