flutter html 加载_Flutter Web 加载html的填坑记录

本文聚焦在Flutter Web加载HTML过程中遇到的挑战及解决办法。问题包括:1) dart:ui找不到platformViewRegistry方法;2) 二次加载页面显示异常;3) setState无法更新HTML内容。解决方案涵盖自定义platformViewRegistry、避免视图重复注册和在build方法中注册视图工厂以刷新HTML。
摘要由CSDN通过智能技术生成

flutter web 加载html内容,请看这里https://juejin.im/post/6844904094725849095,本文不再详述加载html的方法,主要讲述在加载html过程中遇到的问题和解决方案。

问题1:dart:ui 无法找到platformViewRegistry方法ui.platformViewRegistry.registerViewFactory异常提示:

The name 'platformViewRegistry' is being referenced through the prefix 'ui', but it isn't defined in any of the libraries imported using that prefix.

分析:该问题是因为flutter sdk 1.19在迁移 flutter_web_ui 到dart:ui过程中,没有把该方法允许外部调用,导致了该问题。

解决方案:

首先确认当前flutter channel 为beta、develop、master 其中之一

方案一

自己定义platformViewRegistry.registerViewFactory方法,动态引入该方法。class platformViewRegistry {

static registerViewFactory(String viewId, dynamic cb) {}

}

import 'ui_fake.dart' if (dart.library.html)'dart:ui' as ui;

方案二

在yaml文件中设置,忽略该错误(不推荐使用)analyzer:

erro

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值