flutter-原生路由传自定义对象

自定义对象

1 class Dk {
2   int id;
3   String title;
4   String address;
5   String ww;
6   String account;
7 }

传值

1 Navigator.push(
2         context,
3         MaterialPageRoute(
4         builder: (context) => DangkouMsg(),
5         settings: RouteSettings(arguments: dk),
6         ), //原生路由传对象
7 );

目标页面

1 Widget build(BuildContext context) {
2     DK dk = ModalRoute.of(context).settings.arguments;
3 }

 扩展

dk = ModalRoute.of(context).settings.arguments;

写在build外面会报错

解决方式

 @override
  void initState() {
    super.initState();
    SchedulerBinding.instance.addPostFrameCallback(
      (_) => {
        showAlbumList = ModalRoute.of(context).settings.arguments,
        setState(() {}),
      },
    );
  }

 

posted @ 2020-11-24 17:05  mingV2020  阅读(675)  评论(0编辑  收藏  举报