【问题标题】:Copy a value to another StatefulWidget将值复制到另一个 StatefulWidget
【发布时间】:2020-05-02 16:54:48
【问题描述】:

我尝试重建此视频的代码 (https://www.youtube.com/watch?v=d5PpeNb-dOY) ,这是关于如何将String 值复制到另一个StatefulWidget,但现在我得到BodyConstructionState(value) 红色下划线,它说“位置参数太多:预期为0,但找到了 1 个。" Value 来自另一个小部件。我不知道为什么,因为我的做法和视频中的那个人一样。谁能告诉我我的错误是什么?提前致谢!

class BodyConstruction extends StatefulWidget {

      String value;
      BodyConstruction({Key key, @required this.value}) : super(key : key);


      @override
      _BodyConstructionState createState() => _BodyConstructionState(value);
    }

    class _BodyConstructionState extends State<BodyConstruction> {

      String value;
      _BodyConstructionState({this.value});

【问题讨论】:

    标签: string flutter dart statefulwidget


    【解决方案1】:

    当您创建BodyContruction 的对象时,您应该这样做

    BodyConstruction object = new BodyConstruction(value: "Some Value");
    

    而不是

    BodyConstruction object = new BodyConstruction("Some Value");
    

    使用{} 创建构造函数参数会使它们命名为可选参数。

    注意:new 键盘在 Dart 中是可选的。

    【讨论】:

      【解决方案2】:

      这会很完美。看看吧。

         // declare a body construction object
         BodyConstruction _bodyConstruction;
      
         // initialise the object declared above
         _bodyConstruction = BodyConstruction(value: 'Your Value');
      

      注意:当{}用于构造函数或方法体时,它表示一个命名参数。更多解释请查看官方文档。

      Click here to read more on named parameters in Flutter

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-17
        • 1970-01-01
        • 1970-01-01
        • 2020-09-09
        相关资源
        最近更新 更多