diff --git a/lib/flutter_html.dart b/lib/flutter_html.dart
index 3db68efb2b..d6647a62d7 100644
--- a/lib/flutter_html.dart
+++ b/lib/flutter_html.dart
@@ -333,7 +333,7 @@ class SelectableHtml extends StatefulWidget {
}
class _SelectableHtmlState extends State {
- late final dom.Element documentElement;
+ late dom.Element documentElement;
@override
void initState() {
@@ -342,6 +342,16 @@ class _SelectableHtmlState extends State {
? HtmlParser.parseHTML(widget.data!)
: widget.documentElement!;
}
+ @override
+ void didUpdateWidget(SelectableHtml oldWidget) {
+ super.didUpdateWidget(oldWidget);
+ if ((widget.data != null && oldWidget.data != widget.data) ||
+ oldWidget.documentElement != widget.documentElement) {
+ documentElement = widget.data != null
+ ? HtmlParser.parseHTML(widget.data!)
+ : widget.documentElement!;
+ }
+ }
@override
Widget build(BuildContext context) {