首页 > 其他 > 详细

传参~

时间:2019-08-24 00:36:45      阅读:119      评论:0      收藏:0      [点我收藏+]

import ‘pages/Form.dart‘;

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
final routes = {
‘/‘: (contxt) => Tabs(),
‘/search‘: (contxt) => SearchPage(),
‘/form‘: (context, {arguments}) => FormPage(arguments: arguments),
};

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Tabs(),
onGenerateRoute: (RouteSettings settings) {
// 统一处理
final String name = settings.name;
final Function pageContentBuilder = this.routes[name];
if (pageContentBuilder != null) {
if (settings.arguments != null) {
final Route route = MaterialPageRoute(
builder: (context) => pageContentBuilder(context,
arguments: settings.arguments));
return route;
} else {
final Route route = MaterialPageRoute(
builder: (context) => pageContentBuilder(context));
return route;
}
}
});
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 2、跳转传值
RaisedButton(
child: Text("跳转到表单演示页面"),
onPressed: (http://www.amjmh.com){
Navigator.pushNamed(context, ‘/form‘,arguments: {
"id":20
});
},
color: Theme.of(context).accentColor,
textTheme: ButtonTextTheme.primary
)
1
2
3
4
5
6
7
8
9
10
11
// 3、接收参数
import ‘package:flutter/material.dart‘;

class FormPage extends StatelessWidget {
final Map arguments;
FormPage({this.arguments});

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("搜索"),
),
body:Text("我是一个表单页面 ${arguments != null ? arguments[‘id‘] : ‘0‘}")

);
}
}
————————————————

传参~

原文:https://www.cnblogs.com/ly570/p/11402902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!