findViewByKey static method

BuildContext? findViewByKey(
  1. String key,
  2. BuildContext context
)

Implementation

static BuildContext? findViewByKey(String key, BuildContext context) {
  BuildContext? result;
  final visitedElements = <Element>{};
  void searchForWidget(Element element) {
    try {
      if (!visitedElements.contains(element)) {
        visitedElements.add(element);
        if (element.widget.key?.toString().contains("<'") == true &&
            element.widget.key?.toString().contains("'>") == true) {
          if (element.widget.key?.toString() == key) {
            result = element;
            return;
          }
        }
        element.visitChildElements(searchForWidget);
      }
    } catch (e) {
      debugPrint("Error in searchForWidget: $e");
    }
  }

  try {
    context.visitChildElements(searchForWidget);
  } catch (e) {
    debugPrint("Error in findViewByKey: $e");
  }
  return result;
}