在WebView flutter中用于空值的空检查运算符



当我试图从按钮重新加载我的网络视图时,请注意一个错误:E/flutter(18150(:[错误:flutter/lib/ui_dart_state.cc(198(]未处理的异常:在空值上使用了空检查运算符

RaisedButton(
padding: const EdgeInsets.symmetric(vertical: 10,horizontal: 30),
onPressed: () async {
controller.reload();
},

这是我的WebView

WebView(
initialUrl: "https://wikoget.com",
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller){
this.controller=controller;
},
onPageFinished: (String url) {
controller
.evaluateJavascript("javascript:(function() { " +
"var head = document.getElementsByClassName('main-header-bar-wrap')[0];" +
"head.parentNode.style.cssText = ' position: sticky;position: -webkit-sticky; top : 0 ';" +
"var footer = document.getElementsByTagName('footer')[0];" +
"footer.parentNode.removeChild(footer);" +
"})()")
.then((value) => debugPrint('Page finished loading Javascript'));
},
onWebResourceError: (error) => setState(() {
controller.loadUrl("about:blank");
isError = true;
}),
gestureNavigationEnabled: true,
),

在此输入代码在使用变量之前,使用回退运算符为null值设置默认值。

String? str; //nullable value
str ??= "Fallback Value";
print(str); //Output: Fallback Value

这里,";str";为null,并且我们在"的情况下用回退值设置回退运算符;str";为null。

如果您正在使用最新更新的flatter_webview并出现此错误,只需停止当前调试会话并启动新的调试会话。

最新更新