didUpdateWidget method

  1. @override
void didUpdateWidget(
  1. covariant T oldWidget
)
override

Called when the widget configuration changes.

Implementation

@override
void didUpdateWidget(covariant T oldWidget) {
  super.didUpdateWidget(oldWidget);
  final newProvidedNode = providedFocusNode;
  if (newProvidedNode != null && newProvidedNode != _focusNode) {
    _focusNode.removeListener(_onFocusChange);
    FocusManager.instance.unregisterNode(_focusNode);
    if (_isFocusNodeOwned) {
      _focusNode.dispose();
    }

    _focusNode = newProvidedNode;
    _isFocusNodeOwned = false;
    FocusManager.instance.registerNode(_focusNode);
    _focusNode.onKeyEvent = onKeyEvent;
    _focusNode.addListener(_onFocusChange);
    _hasFocus = _focusNode.hasFocus;
  }
}