小编Hem*_*abh的帖子

如何将参数传递给颤振中的回调?

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)

dart flutter

10
推荐指数
2
解决办法
1万
查看次数

“未定义名称‘上下文’。尝试将名称更正为已定义的名称,或定义名称。” 扑

这是我的 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)

navigation dart flutter

2
推荐指数
1
解决办法
4万
查看次数

标签 统计

dart ×2

flutter ×2

navigation ×1