0

我试图在使用auto_router包导航时传递参数值。导入“包:颤振/material.dart”;

page1.dart

class Page1 extends StatefulWidget {
  const Page1({Key? key, required this.text}) : super(key: key);
  final String text;
  @override
  _Page1State createState() => _Page1State();
}

class _Page1State extends State<Page1> {
  @override
  Widget build(BuildContext context) {
    return Text(widget.text);
  }
}

主页.dart

import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:test/Page1.dart';
import 'routes/router.gr.dart';

class MainPage extends StatefulWidget {
  const MainPage({Key? key}) : super(key: key);

  @override
  _MainPageState createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  String data = 'Pass this value';
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: (){
          context.router.push(Page1(text: data));
        },
      ),
    );
  }
}

路由器.dart

import 'package:auto_route/auto_route.dart';
import 'package:test/Page1.dart';
import 'package:test/main_page.dart';
    @MaterialAutoRouter(
      replaceInRouteName: 'Page,Route',
      routes: <AutoRoute>[
        CustomRoute(
          page: MainPage,
          initial: true,
        ),
        CustomRoute(
          page: Page1,
        ),
      ],
    )
    class $AppRouter {}

我正在尝试使用传递数据参数导航page1main_page.dart使用。named route

我收到此错误:

error: The argument type 'Page1' can't be assigned to the parameter type 'PageRouteInfo<dynamic>'. (argument_type_not_assignable at [test] lib\main_page.dart:20)
4

0 回答 0