You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter WebViewPlus报错:invalid constant value 问题求助

解决Dart中WebViewPlus的"Invalid constant value"错误

问题出在你给Scaffold加了const关键字。const要求组件的所有子元素和参数都必须是编译时常量,但你传入的onWebViewCreated是一个匿名函数(闭包),闭包不属于编译时常量范畴,所以会触发"Invalid constant value"错误。

只需要去掉Scaffold前面的const即可解决问题,修正后的代码如下:

@override
Widget build(context) {
  return Scaffold(
    backgroundColor: Colors.white,
    body: WebViewPlus(
      javascriptMode: JavascriptMode.unrestricted,
      onWebViewCreated: (controller) {
        controller.loadString("<html lang=\"en\"><body>hello world</body></html>");
      },
    ),
  );
}

补充说明:

  • 只有当组件的所有参数都是固定的编译时常量(比如Colors.white、JavascriptMode.unrestricted这类枚举/预定义常量)时,才能用const修饰组件。
  • 去掉const后,backgroundColor和javascriptMode这些常量参数依然会被Dart编译器优化,不会影响性能。

内容的提问来源于stack exchange,提问作者AJ Gottes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:18:10