plotly / dash

Data Apps & Dashboards for Python. No JavaScript Required.
https://plotly.com/dash
MIT License
21.16k stars 2.04k forks source link

Allow dcc.Dropdown with multi=True to stay open when item is selected #2820

Open WWakker opened 5 months ago

WWakker commented 5 months ago

When you have a dropdown with multi=True, a user might want to select multiple items at the same time. However, dcc.Dropdown closes when you select one item, and to select another item you have to open it again.

It would be much more user-friendly if dcc.Dropdown can stay open when an item is selected, or at least have it as an option. With rshiny this is already possible, see the multi-select example here.

There seems to be a way to hack the javascript code to get it working, but a proper solution would be to have a boolean option in dcc.Dropdown, e.g. close_on_select, or multi_close_on_select.

TillerBurr commented 5 months ago

Duplicate of #2669. This is something that I was working on when I have time.

WWakker commented 5 months ago

I forgot I already had opened that issue!

@TillerBurr Do you see any difficulties in the implementation? I don't know how far you got already but I could also try to have a look.

TillerBurr commented 5 months ago

@WWakker No worries. It actually wasn't that bad implementing. The only thing that was slightly challenging were the integration tests, mainly making sure the menu stayed open.

I had forgotten that I had started thinking on this a couple weeks ago and this issue reminded me that I should figure out those tests.

celia-lm commented 3 months ago

Related! https://github.com/plotly/dash/issues/1934