From 1b747c526c501bc167a02f4dd7cfc8cee34f870f Mon Sep 17 00:00:00 2001 From: Cheng Lou Date: Fri, 9 Aug 2013 22:44:42 -0400 Subject: [PATCH 1/3] defaultValue of 0 now displayed previously treated as empty string when passed to input text/textarea --- src/dom/components/ReactDOMInput.js | 2 +- src/dom/components/ReactDOMTextarea.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dom/components/ReactDOMInput.js b/src/dom/components/ReactDOMInput.js index 7b45aef515..2e22c4ffe5 100644 --- a/src/dom/components/ReactDOMInput.js +++ b/src/dom/components/ReactDOMInput.js @@ -48,7 +48,7 @@ var ReactDOMInput = ReactCompositeComponent.createClass({ getInitialState: function() { return { checked: this.props.defaultChecked || false, - value: this.props.defaultValue || '' + value: this.props.defaultValue != null ? this.props.defaultValue : '' }; }, diff --git a/src/dom/components/ReactDOMTextarea.js b/src/dom/components/ReactDOMTextarea.js index 2d1beb7795..6fe8992b37 100644 --- a/src/dom/components/ReactDOMTextarea.js +++ b/src/dom/components/ReactDOMTextarea.js @@ -77,7 +77,9 @@ var ReactDOMTextarea = ReactCompositeComponent.createClass({ ); defaultValue = '' + children; } - defaultValue = defaultValue || ''; + if (defaultValue == null) { + defaultValue = ''; + } return { // We save the initial value so that `ReactNativeComponent` doesn't update // `textContent` (unnecessary since we update value). From d5989a0de470384d33650e99190f53bb51b6d2af Mon Sep 17 00:00:00 2001 From: Cheng Lou Date: Mon, 12 Aug 2013 16:08:16 -0400 Subject: [PATCH 2/3] tests for displaying `defaultValue` of 0 --- .../__tests__/ReactDOMTextarea-test.js | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/dom/components/__tests__/ReactDOMTextarea-test.js b/src/dom/components/__tests__/ReactDOMTextarea-test.js index 456a8e63c1..4e3d44fa60 100644 --- a/src/dom/components/__tests__/ReactDOMTextarea-test.js +++ b/src/dom/components/__tests__/ReactDOMTextarea-test.js @@ -51,6 +51,13 @@ describe('ReactDOMTextarea', function() { expect(node.value).toEqual('giraffe'); }); + it('should display `defaultValue` of number 0', function() { + var stub =