useMemoizedTextEditingControllerMap function

Map<String, TextEditingController> useMemoizedTextEditingControllerMap([
  1. Map map = const {}
])

Implementation

Map<String, TextEditingController> useMemoizedTextEditingControllerMap(
    [Map map = const {}]) {
  final controllers = useTextEditingControllerMap(
    map is Map<String, String>
        ? map
        : map.map((key, value) => MapEntry(key.toString(), value.toString())),
  );
  useEffect(
    () {
      for (final tmp in map.entries) {
        if (!controllers.containsKey(tmp.key)) {
          continue;
        }
        controllers[tmp.key]?.text = tmp.value;
      }
    },
    [...map.keys, ...map.values.map((e) => e.toString())],
  );
  return controllers;
}