flutter - fluro


路由傳參

route.dart

import 'package:fluro/fluro.dart';
//添加頁面
import 'package:m/pages/loginPage.dart';
import 'package:m/pages/homePage.dart';
import 'package:m/pages/searchPage.dart';

class Routes {
  static Router router;
  static void configureRoutes(Router router) {
//登陸頁
    router.define('/', handler: new Handler(handlerFunc: (context, params) {
      return new LoginPage();
    }));
//主頁
    router.define('/home', handler: new Handler(handlerFunc: (context, params) {
      return new HomePage();
    }));
//搜索頁
    router.define('/search/:data', handler: new Handler(handlerFunc: (context, params) {
      return SearchPage(params['data'][0]);
    }));
    Routes.router = router;
  }
}

配置 main.dart

import 'package:flutter/material.dart';
import 'package:fluro/fluro.dart';

void main() {
  ///初始化並配置路由
  final router = new Router();
  Routes.configureRoutes(router);
  return runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(onGenerateRoute: Routes.router.generator);
  }
}

login跳轉home ,不帶參數

import 'package:flutter/material.dart';
import 'package:fluro/fluro.dart';

//跳轉主頁
Routes.router.navigateTo(context, '/home', //跳轉路徑
    transition: TransitionType.inFromRight //過場效果
);

跳轉search,帶參數
home.dart

//home.dart
var kind = 'ssss';
Routes.router.navigateTo(
    context, '/search/$kind', //跳轉路徑
    transition: TransitionType.fadeIn //過場效果
);

search.dart

//search.dart
class SearchPage extends StatefulWidget {
//接受傳值
    String _result;
    SearchPage(this._result);

@override
_SearchPageState createState() => _SearchPageState();
}

class _SearchPageState extends State<SearchPage> {
    Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
                        backgroundColor: Color(constant.mainColor),
                        title: Text(widget._result)
                        ),
            body:Text(widget._result)
                    )
            }
}

ps:找不到pop傳參的。難受。只能用之前的navigator.pop
等找到了就補上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM