From e962e97f752d839e0d4ba5d2c232e8f023e8b3f5 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Thu, 17 Nov 2016 17:28:48 +0000 Subject: [PATCH] Satisfy Flow by assuming value is an array for multi-select --- src/renderers/dom/fiber/wrappers/ReactDOMFiberSelect.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/renderers/dom/fiber/wrappers/ReactDOMFiberSelect.js b/src/renderers/dom/fiber/wrappers/ReactDOMFiberSelect.js index a970755dc7..1d23f7cbc6 100644 --- a/src/renderers/dom/fiber/wrappers/ReactDOMFiberSelect.js +++ b/src/renderers/dom/fiber/wrappers/ReactDOMFiberSelect.js @@ -68,13 +68,14 @@ function checkSelectPropTypes(inst, props) { } } -function updateOptions(inst : Fiber, multiple : boolean, propValue : string | Array) { +function updateOptions(inst : Fiber, multiple : boolean, propValue : any) { var options = ReactDOMComponentTree.getNodeFromInstance(inst).options; if (multiple) { + let selectedValues = (propValue : Array); let selectedValue = {}; - for (let i = 0; i < propValue.length; i++) { - selectedValue['' + propValue[i]] = true; + for (let i = 0; i < selectedValues.length; i++) { + selectedValue['' + selectedValues[i]] = true; } for (let i = 0; i < options.length; i++) { var selected = selectedValue.hasOwnProperty(options[i].value); @@ -85,7 +86,7 @@ function updateOptions(inst : Fiber, multiple : boolean, propValue : string | Ar } else { // Do not set `select.value` as exact behavior isn't consistent across all // browsers for all cases. - let selectedValue = '' + propValue; + let selectedValue = '' + (propValue : string); for (let i = 0; i < options.length; i++) { if (options[i].value === selectedValue) { options[i].selected = true;