【发布时间】:2021-05-20 04:04:13
【问题描述】:
我正在开发这个 Flutter 应用程序,并试图让路由在单独的文件上工作。现在我有一个登录页面,其中有一个登录按钮。单击此登录按钮时,应用程序应导航到主页。我看了一些教程,但它们都将导航器和其他小部件放在同一页面上。
就我而言,我的文件结构是:
在 routes.dart 中:
import 'package:flutter/material.dart';
import 'widgets/login.dart';
import 'widgets/homepage.dart';
void main() {
runApp(Nav2App());
}
class Nav2App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
routes: {
'/': (context) => Login(),
'/homepage': (context) => HomePage(),
},
);
}
}
在 login.dart 中:
child: TextButton(
style: ButtonStyle(
...
))),
child: const Text('Login'),
onPressed: () {
Navigator.pushNamed(
context,
'/homepage',
);
},
),
),
我想我需要在 main.dart 中做一些事情,比如:
Widget build(BuildContext context) {
return MaterialApp(
// debugShowCheckedModeBanner: false,
title: 'Flutter Login Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyLoginPage(title: 'login page'),
routes: ***something***
);
}
【问题讨论】:
-
我刚刚发现,当我从编辑器中复制代码时,我犯了一个错误。我已经更新了我的问题。很抱歉造成混乱...
标签: flutter routes navigation