标签:BuildContext flutter result context 跳转 next page 路由 页面
1.无名路由push,直接使用
void nextPage() async{ final result = await Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) { return NextPage("pass params to next page");//构造函数传递参数 }));
//result页面返回结果
}
Navigator.pop(context, "return value to last page");//页面返回
2. 命名路由pushNamed,先注册再使用
void main() => runApp(MyApp());//单行函数调用写法
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "My App Title",
theme: ThemeData(primaryColor: Colors.green),
//home: RandomWord(),首页设置方式一
initialRoute: "home_route",//首页设置方式二
routes: {//路由注册表
"next_page": (BuildContext context) {
return NextPage(ModalRoute.of(context).settings.arguments);
},
"home_route": (BuildContext context) => RandomWord(),
},
// onGenerateRoute: //页面拦截处理
// onUnknownRoute: //页面跳转出错
);
}
}
void nextPage() async{
final result = await Navigator.pushNamed(context, "next_page",arguments: "pass params to next page");
//result页面返回结果
}
//next_page获取上一个页面传递过来的参数的方法:ModalRoute.of(context).settings.arguments
标签:BuildContext,flutter,result,context,跳转,next,page,路由,页面 来源: https://www.cnblogs.com/yongfengnice/p/12112287.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。