flutter - 在颤动中路由到另一个屏幕时,没有为类仪表板定义方法 RegisterCustomer
问题描述
我在 lib 目录中有仪表板屏幕。register_customer.dart 文件位于 lib 文件夹中的 customers 子目录下。我已经在仪表板屏幕中导入了register_customer.dart 。但是register_customer.dart中的 RegisterCustomer 类没有解析。这是我的代码:
lib/dashboard.dart
import 'package:flutter/material.dart';
import './customers/register_customer.dart';
class MyDashboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
backgroundColor: defaultBackgroundColor,
elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back,
color: btnTextColor,
),
onPressed: () {
//navigate to the previous page
Navigator.pop(context);
},
),
//navabar title text text
title: Text('Dashboard'),
),
body: Center(
child: Column(
children: <Widget>[
Container(
margin: const EdgeInsets.all(20.0),
//color: Colors.amber[600],
width: 200.0,
height: 250.0,
child: ListView(
children: <Widget>[
GestureDetector(
child: ListTile(
title: Text(
'Register Customer',
style:
TextStyle(fontSize: 20, color: Color(0xffE06C19)),
),
leading: Icon(
Icons.user,
color: Colors.amber,
),
),
onTap: () {
**//this is where the error is being raised**
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => RegisterCustomer()));
},
),
],
),
),
],
))),
);
}
}
lib/customers/register_customer.dart
import 'package:flutter/material.dart';
class RegisterCustomer extends StatefulWidget {
@override
_RegisterCustomerState createState() => _RegisterCustomerState();
}
String _first_name;
String _last_name;
class _RegisterCustomerState extends State<RegisterCustomer> {
final GlobalKey<FormState> _formkey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primaryColor: Colors.purple[800],
accentColor: Colors.amber,
accentColorBrightness: Brightness.dark),
home: Scaffold(
appBar: AppBar(
title: Text(
'Register Customer',
style: TextStyle(fontSize: 20),
textAlign: TextAlign.center,
),
),
body: Container(
margin: EdgeInsets.all(12),
child: Form(
key: _formkey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(
height: 50,
),
RaisedButton(
color: Color(0xff980CF0),
textColor: Colors.white,
splashColor: Colors.grey,
padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
child: Text(
'Register',
style: TextStyle(
color: Colors.orangeAccent,
fontSize: 17,
),
),
onPressed: () {
if (!_formkey.currentState.validate()) {
return;
}
//submit data to the server
},
)
],
),
),
),
),
);
}
}
我在其他路线上遇到同样的问题。我究竟做错了什么?
解决方案
我认为导入路径不正确:
import 'package:projectname/customer/register_customer.dart
如果文件在lib/customer/register_customer.dart
推荐阅读
- alamofire - Alamofire.download 通过邮寄方式下载,参数不起作用
- angular - 在Angular中单击父组件按钮时验证子组件表单
- java - 如何在spring项目中使用关系路径制作文件对象
- javascript - 在 JavaScript 中显示数组时,它只显示 ',,,'
- php - utf8 conver gb2312乱码
- angular - Angular5 中的 ThreeJS DragControls
- python - Python OpenCV:如何将 YCbCr 转换回 RGB?
- javascript - 如何将具有两对的对象添加到具有与对象相同的键和值的数组中
- c++ - OpenGL 立方体和金字塔
- javascript - mysql忽略使用SET提交