Fix single select incorrectly updating
Closes #5592
Remko Tronçon committed
Dec 4, 2015 at 09:26 UTC
7d699f40638927375174746bd5e24abff0043512
2 files changed
+16
-1
src/renderers/dom/client/wrappers/ReactDOMSelect.js
+1
-1
@@ -29,7 +29,7 @@ function updateOptionsIfPendingUpdateAndMounted() {
29
var value = LinkedValueUtils.getValue(props);
30
31
if (value != null) {
32
- updateOptions(this, props, value);
32
+ updateOptions(this, Boolean(props.multiple), value);
33
}
34
}
35
}
src/renderers/dom/client/wrappers/__tests__/ReactDOMSelect-test.js
+15
@@ -475,4 +475,19 @@ describe('ReactDOMSelect', function() {
475
ReactTestUtils.renderIntoDocument(<select value={null}><option value="test"/></select>);
476
expect(console.error.argsForCall.length).toBe(1);
477
});
478
+
479
+ it('should refresh state on change', function() {
480
+ var stub =
481
+ <select value="giraffe" onChange={noop}>
482
+ <option value="monkey">A monkey!</option>
483
+ <option value="giraffe">A giraffe!</option>
484
+ <option value="gorilla">A gorilla!</option>
485
+ </select>;
486
+ stub = ReactTestUtils.renderIntoDocument(stub);
487
+ var node = ReactDOM.findDOMNode(stub);
488
+
489
+ ReactTestUtils.Simulate.change(node);
490
+
491
+ expect(node.value).toBe('giraffe');
492
+ });
493
});