1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import 'package:fluro/fluro.dart';
- import 'package:flutter/material.dart';
- import 'package:liftmanager/routers/routers.dart';
- import 'application.dart';
- /// fluro的路由跳转工具类
- class NavigatorUtils {
- static push(BuildContext context, String path,
- {bool replace = false, bool clearStack = false}) {
- FocusScope.of(context).unfocus();
- Application.router.navigateTo(context, path, replace: replace, clearStack: clearStack, transition: TransitionType.native);
- }
- static pushResult(BuildContext context, String path, Function(Object) function,
- {bool replace = false, bool clearStack = false}) {
- FocusScope.of(context).unfocus();
- Application.router.navigateTo(context, path, replace: replace, clearStack: clearStack, transition: TransitionType.native).then((result){
- // 页面返回result为null
- function(result);
- }).catchError((error) {
- print("$error");
- });
- }
- // static void go(BuildContext context,String path){
- // Navigator.of(context).pushAndRemoveUntil(
- // MaterialPageRoute(builder: (context) => HomePage()),
- // (route) => route == null);
- // }
- /// 返回
- static void goBack(BuildContext context) {
- FocusScope.of(context).unfocus();
- Navigator.pop(context);
- }
- /// 带参数返回
- static void goBackWithParams(BuildContext context, result) {
- FocusScope.of(context).unfocus();
- Navigator.pop(context, result);
- }
- /// 跳到WebView页
- static goWebViewPage(BuildContext context, String title, String url){
- //fluro 不支持传中文,需转换
- push(context, '${Routers.webViewPage}?title=${Uri.encodeComponent(title)}&url=${Uri.encodeComponent(url)}');
- }
- }
|