Метод canGoBack не определен для флаттера WebViewPlus

Я пытаюсь использовать метод ( 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), но он не работает!

0
0
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы использовать метод canGoBack, вам необходимо получить доступ к свойству WebViewPlusController webViewController, вот пример:

if (await controller.webViewController.canGoBack()) {
    return false;
}

Больше информации в: https://pub.dev/documentation/webview_flutter_plus/latest/webview_flutter_plus/WebViewPlusController-class.html

Другие вопросы по теме