diff --git a/packages/flutter/lib/src/fn3/framework.dart b/packages/flutter/lib/src/fn3/framework.dart index d5b172c767..26fb2e149a 100644 --- a/packages/flutter/lib/src/fn3/framework.dart +++ b/packages/flutter/lib/src/fn3/framework.dart @@ -92,6 +92,15 @@ abstract class GlobalKey extends Key { } } + Element get currentElement => _registry[this]; + Widget get currentWidget => currentElement?.widget; + State get currentState { + Element element = currentElement; + if (element is StatefulComponentElement) + return element.state; + return null; + } + static void registerRemoveListener(GlobalKey key, GlobalKeyRemoveListener listener) { assert(key != null); Set listeners = @@ -109,11 +118,6 @@ abstract class GlobalKey extends Key { assert(removed); } - static Element getElement(GlobalKey key) { - assert(key != null); - return _registry[key]; - } - // TODO(ianh): call this static void _notifyListeners() { assert(() {