I agree, @alexcjohnson.
Because, in my case, if you have a look on ev-trends.com, and more specifically on the way the multiple dcc.dropdown is filled (in the div “setting”) when you click on the Brand name, you might observe that
a) if the dcc.dropdown does not contain any model of brand X, then one click on a brand name (button) updates:
- the style of the clicked button in Black,
- the content of dcc.dropdown, by adding every model of brand X to the dcc.dropdown list
b) if the dcc.dropdown does contain between 1 and n model of brand X, then one click on a brand name (button) updates:
- the style of the clicked button in Transparent,
- the content of dcc.dropdown, by removing every model of brand X from the dcc.dropdown list
but, I had circular dependencies to fix for this:
- removing one model of brand X from the dcc.dropdown list updates the button’s style of the relevant brand from Black to Grey.
- removing every model of brand X from the dcc.dropdown list updates the button’s style of the relevant brand from Black or Grey to Transparent.
I used State and various tricks to get the result I wanted, but it makes my code quite ugly. And note sure that the way we deal with this kind of issues right now is without consequence on the performance. When I load my pages and check the “performance” in the console, I have on average 4000ms for the scripting part.
Im currently rewritting my code to make tabs looking like the Buttons currently displayed for the Country and Period choices. Styles seem to be updated faster after a click when it’s a tab instead of a button.