首页 > 解决方案 > 如何在flutter中将类实例引用作为泛型类型传递

问题描述

我的目标是创建一个方法,该方法将采用 buildcontext 和屏幕引用的参数,并根据提供的详细信息进行相应的路由。我的部分完整代码如下。帮助将不胜感激。

我的助手类

import 'package:flutter/material.dart';

class Utils {

 static routToPage <T> (BuildContext context,  <T> page){
  Navigator.of(context).push(MaterialPageRoute(builder: (context) =>page);
 }
}

我想访问的课程

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

class Home extends StatelessWidget {
   navigateToPage(){
    Utils.rout(BuildContext context, PageTwo())
   }
}

现在由于语法错误,我坚持我的方法。

标签: flutterdart

解决方案


好吧,我认为没有必要创建静态类。这是一个工作示例。

将以下方法粘贴到 dart 文件中。

void navigateToScreen(BuildContext context, Widget widget) {
  Navigator.of(context).push(MaterialPageRoute(
    builder: (_) => widget,
  ));
}

并使用该类进行导航,例如

navigateToScreen(buildContext, YourNavigationScreen());

推荐阅读