为了创建一个可重用的小部件并返回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?
);
}
答案 0 :(得分:1)
dart中的非基本体通过引用传递,其中包括地图。因此,您可以这样做:
Widget _buildTile(Map map, dynamic key) {
return TextFormField(
onSaved: (value) => map[key] = value,
);
}