Flutter 点击 WebView 内的文本框使父小部件仅在 iOS 中刷新

问题描述 投票:0回答:1

我有一个

WebView
小部件作为
Container
小部件的子小部件。点击
WebView
小部件内的文本框字段会使
Container
initState()
级别重新加载。

Container(
child:
 WebView(
     initialUrl: 'about:blank',
     onWebViewCreated: (controller) async {
        _webviewController = controller;
        await _loadHtmlFromUrl(context);
     },
     javascriptMode: JavascriptMode.unrestricted,
     onPageFinished: (finish) {
        if (this.mounted && this._isLoading == true) {
           setState(() {
           this._isLoading = false;
        });
     }
   },
 ),
);

WebView
加载了动态 Url。

用户无法在文本框中输入内容,因为点击文本框时文本框会不断重新加载。

Flutter SDK 3.3.7

WebView v2.8.0

我该如何解决这个问题? TIA

flutter webview textbox reload tap
1个回答
0
投票

找到问题和解决方案。

上一路线(屏幕)调用

Navigator.pushAndRemoveUntil(...)
导航至
WebView
屏幕路线。我想,由于没有导航历史记录,
WebView
小部件会发疯。

我更换了之前的路线(屏幕),改为拨打

Navigator.push(...)
,问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.