From 661459be16cf993074a9c1f77998eb5f0b397964 Mon Sep 17 00:00:00 2001 From: nickmelnikov82 Date: Tue, 12 Apr 2022 19:06:42 +0300 Subject: [PATCH] fix dropdown 'multi' argument --- .../src/fragments/Dropdown.react.js | 2 +- .../dropdown/test_option_title_prop.py | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/components/dash-core-components/src/fragments/Dropdown.react.js b/components/dash-core-components/src/fragments/Dropdown.react.js index 43dd15e006..9a95d000c9 100644 --- a/components/dash-core-components/src/fragments/Dropdown.react.js +++ b/components/dash-core-components/src/fragments/Dropdown.react.js @@ -58,7 +58,7 @@ export default class Dropdown extends Component { } = this.props; const {filterOptions} = this.state; let selectedValue; - if (type(value) === 'Array') { + if (type(value) === 'Array' && !multi) { selectedValue = value.join(DELIMITER); } else { selectedValue = value; diff --git a/components/dash-core-components/tests/integration/dropdown/test_option_title_prop.py b/components/dash-core-components/tests/integration/dropdown/test_option_title_prop.py index cdf732bde2..92cc19d03b 100644 --- a/components/dash-core-components/tests/integration/dropdown/test_option_title_prop.py +++ b/components/dash-core-components/tests/integration/dropdown/test_option_title_prop.py @@ -68,3 +68,25 @@ def add_title_to_option(title): wait.until(lambda: dropdown_option_element.get_attribute("title") == "", 3) assert dash_dcc.get_logs() == [] + + +@pytest.mark.parametrize("multi", [True, False]) +def test_ddot002_multi_value(dash_dcc, multi): + app = Dash(__name__) + app.layout = html.Div( + [ + dcc.Dropdown( + id="dropdown", + options=["New York City, NY", "Montreal, QC", "San Francisco, CA"], + value=["Montreal, QC"], + multi=multi, + ), + ] + ) + + dash_dcc.start_server(app) + + dropdown_option_element = dash_dcc.wait_for_element(".Select-value-label") + assert "Montreal, QC" in dropdown_option_element.text + + assert dash_dcc.get_logs() == []