Flutter 是否将保存的传递给TextFormField小部件?

Flutter 是否将保存的传递给TextFormField小部件?,flutter,Flutter,为了创建返回TextFormField的可重用小部件,是否有方法在调用onSaved时传递需要更新的字段 考虑以下地图: Map myMap = { 'a': 1, 'b': 2, } 还有一个简单的构建方法: Widget build(BuildContext context) { return _buildTile(myMap.a); } 还有我的带有特定装饰(未显示)的常用小部件,它在许多地方都有使用 Widget _buildTile(in

为了创建返回TextFormField的可重用小部件,是否有方法在调用onSaved时传递需要更新的字段

考虑以下地图:

  Map myMap = {
    'a': 1,
    'b': 2,
  }
还有一个简单的构建方法:

  Widget build(BuildContext context) {
    return _buildTile(myMap.a);
  }
还有我的带有特定装饰(未显示)的常用小部件,它在许多地方都有使用

  Widget _buildTile(int fieldIn) {
    return TextFormField(
      onSaved: (value) => print('Tile onSaved: $value'),  //how to update myMap.a?
    );
  }

dart中的非基本体通过引用传递,这包括贴图。因此,您可以:

Widget _buildTile(Map map, dynamic key) {
    return TextFormField(
      onSaved: (value) => map[key] = value,
    );
  }

谢谢你,卢卡斯。这满足了我提供的示例,但是如果它是一个对象而不是一个地图呢?那我怎么才能拿到钥匙呢
main(){objmyobj=Obj(a:1,b:2,);doPrint(myObj,'a');}doPrint(objo,字符串键){print(o);print(o[key]);}类Obj{Obj({this.a,this.b,});inta;intb;}
你来自Javascript吗?您可能仍然是指
地图
Map
可以有任何类型的键。请注意,在我给出的示例中,关键参数是动态的。这不起作用。将我先前评论中的代码剪切并粘贴到dartpad中。不,它不适用于类成员,只适用于映射。另一种方法(可能是更好的做法)是将
onSaved
作为自定义小部件的参数传递给
TextFormField
。这正是我所担心的(如本期标题所示):(我希望有一个更优雅的解决方案。编码时看起来很难看。再次感谢您的帮助。我非常感谢您的回复。)