flutter - 坏状态:使用flutter html渲染html文本时没有元素
问题描述
现在我正在使用flutter html在我的flutter应用程序中呈现一些文章,这是我的依赖项:
flutter_html: 1.3.0
一切正常,但有时会显示此错误:
======== 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)
我不知道发生了什么以及如何解决它。这是我在组件中的渲染代码:
Html(
data: item.content,
style: {
"body": Style(
fontSize: FontSize(19.0),
),
},
onLinkTap: (url) => CommonUtils.launchUrl(url),
),
这是用户界面的错误:
我应该怎么做才能解决它?顺便说一句,这是导致问题的我的 html 上下文:
<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>
解决方案
这是该库和flutter 2.0相关的错误text-decoration
:
https ://github.com/Sub6Resources/flutter_html/issues/569
https://github.com/Sub6Resources/flutter_html/issues/554
您可以尝试使用此版本:2.0.0-nullsafety.1
或删除text-decoration
推荐阅读
- java - 如何在沙发库中插入 JSONArray 子文档
- iis - IIS 中 CGI 错误的日志在哪里
- python - Django Filters:建议改进动态过滤逻辑
- python - 通过 pip 安装 grpcio 时 Docker 构建时间过长
- amazon-web-services - 由 SQS 触发的 AWS Lambda 增加了 SQS 请求计数
- docker - Docker Swarm 中任务的可发现性
- java - 如何查找加权图的每个最小生成树中必须存在的边
- sql - 我想要输出中的分层顺序但不知道如何?
- laravel-5 - Laravel Eloquent find 并在哪里返回两种不同的类型?
- python - 自动生成的列表行为不正常