mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Merge pull request #1355 from abarth/current_state
Add a currentWidget and currentState accessor to GlobalKeys
This commit is contained in:
commit
b07509159c
@ -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<GlobalKeyRemoveListener> 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(() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user