传递onSaved到TextFormField小部件?

时间:2019-02-05 18:30:38

标签: flutter

为了创建一个可重用的小部件并返回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?
    );
  }

1 个答案:

答案 0 :(得分:1)

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

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