From a7af9434408393c1a471b3fe980c72fd78b622df Mon Sep 17 00:00:00 2001 From: Do Cao Huynh Date: Fri, 22 Jul 2022 07:59:36 +0700 Subject: [PATCH] fix SelectableHtml not rebuild when data change --- lib/flutter_html.dart | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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) {