diff --git a/packages/flutter/lib/src/material/input.dart b/packages/flutter/lib/src/material/input.dart index 011edfb4e12..84ac0e73ffe 100644 --- a/packages/flutter/lib/src/material/input.dart +++ b/packages/flutter/lib/src/material/input.dart @@ -112,9 +112,9 @@ class _InputState extends State { bool focused = focusContext != null && Focus.at(focusContext, autofocus: config.autofocus); if (_formData == null) _formData = _FormFieldData.maybeCreate(context, this); - InputValue value = config.value ?? _formData?.value ?? InputValue.empty; - ValueChanged onChanged = config.onChanged ?? _formData?.onChanged; - ValueChanged onSubmitted = config.onSubmitted ?? _formData?.onSubmitted; + InputValue value = _formData?.value ?? config.value ?? InputValue.empty; + ValueChanged onChanged = _formData?.onChanged ?? config.onChanged; + ValueChanged onSubmitted = _formData?.onSubmitted ?? config.onSubmitted; String errorText = config.errorText; if (errorText == null && config.formField != null && config.formField.validator != null) @@ -260,9 +260,10 @@ class _InputState extends State { class _FormFieldData { _FormFieldData(this.inputState) { assert(field != null); + value = inputState.config.value ?? new InputValue(); } - InputValue value = new InputValue(); + InputValue value; final _InputState inputState; FormField get field => inputState.config.formField;