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