@@ -7,11 +7,11 @@ import 'package:flutter_html/src/html_elements.dart';
7
7
import 'package:flutter_html/style.dart' ;
8
8
import 'package:html/dom.dart' as dom;
9
9
10
+ export 'package:flutter_html/custom_render.dart' ;
10
11
//export render context api
11
12
export 'package:flutter_html/html_parser.dart' ;
12
13
//export render context api
13
14
export 'package:flutter_html/html_parser.dart' ;
14
- export 'package:flutter_html/custom_render.dart' ;
15
15
//export src for advanced custom render uses (e.g. casting context.tree)
16
16
export 'package:flutter_html/src/anchor.dart' ;
17
17
export 'package:flutter_html/src/interactable_element.dart' ;
@@ -60,8 +60,8 @@ class Html extends StatefulWidget {
60
60
this .onImageTap,
61
61
this .tagsList = const [],
62
62
this .style = const {},
63
- }) : documentElement = null ,
64
- assert (data != null ),
63
+ }) : documentElement = null ,
64
+ assert (data != null ),
65
65
_anchorKey = anchorKey ?? GlobalKey (),
66
66
super (key: key);
67
67
@@ -78,7 +78,7 @@ class Html extends StatefulWidget {
78
78
this .onImageTap,
79
79
this .tagsList = const [],
80
80
this .style = const {},
81
- }) : data = null ,
81
+ }) : data = null ,
82
82
assert (document != null ),
83
83
this .documentElement = document! .documentElement,
84
84
_anchorKey = anchorKey ?? GlobalKey (),
@@ -97,7 +97,7 @@ class Html extends StatefulWidget {
97
97
this .onImageTap,
98
98
this .tagsList = const [],
99
99
this .style = const {},
100
- }) : data = null ,
100
+ }) : data = null ,
101
101
assert (documentElement != null ),
102
102
_anchorKey = anchorKey ?? GlobalKey (),
103
103
super (key: key);
@@ -154,13 +154,20 @@ class Html extends StatefulWidget {
154
154
}
155
155
156
156
class _HtmlState extends State <Html > {
157
- late final dom.Element documentElement;
157
+ late dom.Element documentElement;
158
158
159
159
@override
160
160
void initState () {
161
161
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
+ }
164
171
}
165
172
166
173
@override
@@ -232,7 +239,7 @@ class SelectableHtml extends StatefulWidget {
232
239
this .tagsList = const [],
233
240
this .selectionControls,
234
241
this .scrollPhysics,
235
- }) : documentElement = null ,
242
+ }) : documentElement = null ,
236
243
assert (data != null ),
237
244
_anchorKey = anchorKey ?? GlobalKey (),
238
245
super (key: key);
@@ -250,7 +257,7 @@ class SelectableHtml extends StatefulWidget {
250
257
this .tagsList = const [],
251
258
this .selectionControls,
252
259
this .scrollPhysics,
253
- }) : data = null ,
260
+ }) : data = null ,
254
261
assert (document != null ),
255
262
this .documentElement = document! .documentElement,
256
263
_anchorKey = anchorKey ?? GlobalKey (),
@@ -269,7 +276,7 @@ class SelectableHtml extends StatefulWidget {
269
276
this .tagsList = const [],
270
277
this .selectionControls,
271
278
this .scrollPhysics,
272
- }) : data = null ,
279
+ }) : data = null ,
273
280
assert (documentElement != null ),
274
281
_anchorKey = anchorKey ?? GlobalKey (),
275
282
super (key: key);
0 commit comments