2020年6月1日 命名路由传参方法
命名路由设置(无需任何改动)
return MaterialApp(
home: Tabs(),
routes: {
'/form':(context)=>FormPage(),
'/search':(context)=>SearchPage(),
}
);
路由跳转设置(设置传递的参数)
Navigator.pushNamed(context, '/form',arguments:{'title':'这是获取到的参数'});
页面取值
import 'package:flutter/material.dart';
class FormPage extends StatelessWidget {
String _title = '表单'; //这里这个变量可以不申明,但是为了方便传值
@override
Widget build(BuildContext context) {
Map arguments = ModalRoute.of(context).settings.arguments; //关键代码,取值
if (arguments != null) {
//判断是否传递
_title = arguments['title'] ?? this._title; //进行赋值
}
return Scaffold(
appBar: AppBar(
title: Text(this._title), //显示传递过来的值
),
body: Text('这是表单页面')
);
}
}