Я пытаюсь использовать метод ( canGoBack() ) с плагином (flutter webview plus), но он не работает!
против кода сказал:
Метод canGoBack не определен для типа WebViewPlusController. Попробуйте изменить имя на имя существующего метода или определить метод с именем «canGoBack».
это мой код:
//import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter_plus/webview_flutter_plus.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
late WebViewPlusController controller;
@override
Widget build(BuildContext context) => WillPopScope (
onWillPop: () async {
if (await controller.canGoBack() ) {
return false; }
},
child: SafeArea(
child: Scaffold(
// ignore: avoid_unnecessary_containers
body: Container(
child: WebViewPlus(
initialUrl: 'assets/index.html',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller) {
this.controller = controller;
},
),
),
),
),
);
}
Как я могу решить эту проблему?
Я пытаюсь использовать метод ( canGoBack() ) с плагином (flutter webview plus), но он не работает!
Чтобы использовать метод canGoBack
, вам необходимо получить доступ к свойству WebViewPlusController webViewController, вот пример:
if (await controller.webViewController.canGoBack()) {
return false;
}
Больше информации в: https://pub.dev/documentation/webview_flutter_plus/latest/webview_flutter_plus/WebViewPlusController-class.html