class ExtractArgumentsScreen extends StatelessWidget {
static const routeName = '/extractArguments';
double price = 0;
_changeprice(num){
setState(){
price+ = num;
}
}
@override
Widget build(BuildContext context) {
final MealArguments args = ModalRoute.of(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text('MyApp'),
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
SizedBox(height: 20,),
ViewCard(args.combo,_changeprice()),
]));
Run Code Online (Sandbox Code Playgroud)
这是父类。我将函数传递_changePrice()给ViewCard以便我可以稍后更改价格的值。这给了我一个
错误“需要 1 个必需参数,但找到 0 个”
但我不能传递一个参数,_changePrice因为这违背了使用这个回调的全部目的。我正在尝试实现的内容类似于将数据发送到 Flutter 中的父 Widget 中所建议的内容。
子类 ViewCard 将此回调传递给另一个名为 的子类OneItem。
class OneItem extends StatefulWidget {
OneItem(this.combo, this.index, …Run Code Online (Sandbox Code Playgroud) 这是我的 widgets.dart 文件的一个片段,我在其中定义了一个名为 see_all_cards 的小部件,其唯一目的是显示我最初显示的所有卡片的扩展列表。它应该只是重定向到 Trending.dart。这是我在这里的主要目标。
Widget see_all_cards(){
return Container(
child: FlatButton(
child: Text(
"See all (43)",
style: TextStyle(
color: Theme.of(context).accentColor, // error
),
),
onPressed: (){
Navigator.push(
context, // error
MaterialPageRoute(
builder: (BuildContext context){
return trending();
},
),
);
},
)
);
}
Run Code Online (Sandbox Code Playgroud)
以下部分是我的主页。我从 void main 调用 SlowlyApp。
class SlowlyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'SlowlyApp',
home: Scaffold(
appBar: AppBar(
title: Text('Search',
style: TextStyle(
color: Color.fromRGBO(0,0,0,1),
),
),
backgroundColor: Color.fromRGBO(225,225,0,1),
actions: …Run Code Online (Sandbox Code Playgroud)