【发布时间】:2020-02-29 06:26:25
【问题描述】:
我正在尝试将地图发送到另一个屏幕。第二屏的构造函数如下。
class Sell extends StatefulWidget {
Map<String, int> cart = {};
Sell({@required cart});
@override
_SellState createState() => _SellState();
}
这是页面,调用第二个屏幕的构造函数但我无法发送这样的参数。
class _MyHomePageState extends State<MyHomePage> {
Map<String, int> cart = {};
\\\
List pages = [
Sell(cart: cart,), //this is the error <--Only static members can be accessed in initializers.dart(implicit_this_reference_in_initializer)
\\\
}
];
这是第一页的源代码
class _MyHomePageState extends State<MyHomePage> {
int currentPage = 0;
Map<String, int> cart = {};
List pages = [
Sell(cart: cart,),
Cart(),
Report(),
Dashboard(),
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
),
body: Center(
child: pages.elementAt(currentPage),
),
bottomNavigationBar: FancyBottomNavigation(
tabs: [
TabData(iconData: Icons.attach_money, title: "Sell"),
TabData(iconData: Icons.shopping_cart, title: "Basket"),
TabData(iconData: Icons.assessment, title: "Reports"),
TabData(iconData: Icons.dashboard, title: "Dashboard"),
],
onTabChangedListener: (position) {
setState(() {
currentPage = position;
});
},
));
}
}
我在这里错过了什么?
【问题讨论】:
-
在initState方法中初始化page变量
-
您是否尝试将参数发送到另一个屏幕?