diff --git a/packages/react-dom/src/client/ReactDOMFiberInput.js b/packages/react-dom/src/client/ReactDOMFiberInput.js index c754daab5abd0..22cf89c400b04 100644 --- a/packages/react-dom/src/client/ReactDOMFiberInput.js +++ b/packages/react-dom/src/client/ReactDOMFiberInput.js @@ -307,7 +307,7 @@ function updateNamedCousins(rootNode, props) { // when the user is inputting text // // https://github.com/facebook/react/issues/7253 -function synchronizeDefaultValue( +export function synchronizeDefaultValue( node: InputWithWrapperState, type: ?string, value: *, diff --git a/packages/react-dom/src/events/ChangeEventPlugin.js b/packages/react-dom/src/events/ChangeEventPlugin.js index 7ab525f2e0a79..cb98d19a9b9fa 100644 --- a/packages/react-dom/src/events/ChangeEventPlugin.js +++ b/packages/react-dom/src/events/ChangeEventPlugin.js @@ -17,6 +17,7 @@ import getEventTarget from './getEventTarget'; import isEventSupported from './isEventSupported'; import {getNodeFromInstance} from '../client/ReactDOMComponentTree'; import * as inputValueTracking from '../client/inputValueTracking'; +import {synchronizeDefaultValue} from '../client/ReactDOMFiberInput'; var eventTypes = { change: { @@ -235,10 +236,7 @@ function handleControlledInputBlur(inst, node) { } // If controlled, assign the value attribute to the current value on blur - let value = '' + node.value; - if (node.getAttribute('value') !== value) { - node.setAttribute('value', value); - } + synchronizeDefaultValue(node, 'number', node.value); } /**