在 Flutter 中,有一套自己的页面传参机制。
我们仍然需要通过 Navigator 来实现页面间的传参。
1.如何进行页面传参
Flutter 中页面传参的思路是,为页面 Widget 的构造函数中增加参数,通过构造函数来给页面传参。
class HomePage extends StatelessWidget {
final PageData data;
// 带所需参数的构造函数
const HomePage({Key key, this.data}) : super(key: key);
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text('Home Page'),
),
body: Container(
color: Colors.white,
child: Center(
child: Text(data != null ? data.data : 'There is no data!'),
),
),
);
}
}
复制代码
来看看跳转时如何给他传参数:
var data = PageData('Come form SplashPage!');
// 使用 Navigator 跳转页面
Navigator.push(context, MaterialPageRoute(
builder: (context) => HomePage(
data