为了创建一个返回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,
    );
  }

10-01 11:53