0

Now I am using flutter html to render some article in my flutter app, this is my dependencies:

flutter_html: 1.3.0

everything works fine but some times shows this error:

======== Exception caught by widgets library =======================================================
The following StateError was thrown building HtmlParser(dirty):
Bad state: No element

The relevant error-causing widget was: 
  Html file:///Users/dolphin/source/cruise-open/lib/src/page/home/components/articledetail_component/view.dart:168:15
When the exception was thrown, this was the stack: 
#0      ListMixin.firstWhere (dart:collection/list.dart:167:5)
#1      declarationsToStyle.<anonymous closure> (package:flutter_html/src/css_parser.dart:49:52)
#2      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:397:8)
#3      declarationsToStyle (package:flutter_html/src/css_parser.dart:10:16)
#4      inlineCSSToStyle (package:flutter_html/src/css_parser.dart:78:10)

I have no clue what was happen and how to fix it. this is my render code in component:

Html(
                data: item.content,
                style: {
                  "body": Style(
                    fontSize: FontSize(19.0),
                  ),
                },
                onLinkTap: (url) => CommonUtils.launchUrl(url),
              ),

and this is the error of UI:

enter image description here

what should I do to fix it? By the way, this is my html context that cause the problem:

<p>Microservices is a style of architecture consisting of a small, individual application component with a single responsibility, with a high degree of autonomy in terms of deployment and scalability. These components communicate via a lightweight protocol like REST over HTTP. In consequence, development teams are small (the two-pizza rule), focused on a microservice. In practice the team owns the entire lifecycle from development to deployment — if you built it, you run it. This creates a problem. After all, dev teams' core competency is usually Maven, a microservices framework, say, Spring Boot, test frameworks like JUnit, and so on. But if we look at the steps involved in deploying a microservice:</p>
<ul>
 <li>Package the application in a container like Docker. This involves writing a Dockerfile.</li>
 <li>Deploy the container to an orchestrator like Kubernetes. This involves writing several resources; description files for services, deployment, etc.</li>
</ul>
<p>To use a term familiar to developers, this is an 'impedance mismatch.' To solve this problem, we need a class of tools that speak the language of developers and make the entire deployment steps transparent to them. The most famous of these is <a href="https://github.com/GoogleContainerTools/jib" rel="noopener noreferrer" target="_blank">Jib</a><span style="color: #0563C1; text-decoration: underline;">,</span> which we dealt with in a <a href="https://dzone.com/articles/dockerizing-a-spring-boot-application" rel="noopener noreferrer" target="_blank">previous</a> paper, which builds optimized Docker and <a href="https://github.com/opencontainers/image-spec"><span style="color: windowtext; text-decoration: none;">OCI</span></a> images for your Java applications and is available as a Maven plugin. There are other tools in this category like <a href="https://dekorate.io/dekorate/" rel="noopener noreferrer" target="_blank">Dekorate</a> which allows us to generate Kubernetes manifests using just Maven and Java annotations. The latest and comprehensive entry in this category is JKube from RedHat which our subject <em>de jour.</em></p>

1 Answer 1

1

It's a bug with that library and flutter 2.0 related to text-decoration: https://github.com/Sub6Resources/flutter_html/issues/569 https://github.com/Sub6Resources/flutter_html/issues/554

You can try with this version: 2.0.0-nullsafety.1 or delete the text-decoration

Sign up to request clarification or add additional context in comments.

1 Comment

2.0.0 fix this problem, I upgrade to 2.0.0 and fix this problem.@Luis A. Chaglla

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.