我试图在使用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 {}
我正在尝试使用传递数据参数导航page1
到main_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)