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) {