Hi @sumitmehta12
Thank you for the code snippet. However, I was not able to replicate the error you encountered. Below is the code I used for testing.
I added two very simple actions, so I can run the dashboard and one additional dropdown to test for long strings, but I was still unable to reproduce the bug.
Are you overwriting any parts of the Vizro Dropdown, or do you have any custom css that could affect the spacings in the Dropdown?
import vizro.models as vm
from vizro import Vizro
from vizro.models.types import capture
my_dict = {
"A": [1, 2, 3, 4, 5],
"B": [6, 7, 8, 9, 10],
"C": [11, 12, 13, 14, 15],
}
@capture("action")
def update_dd_component_options(dd_control_value):
options = my_dict[dd_control_value]
return options, options[0]
@capture("action")
def update_my_card_text(dd_component_value):
return f"Selected value: {dd_component_value}"
vm.Page.add_type("controls", vm.Dropdown)
vm.Page.add_type("components", vm.Dropdown)
page = vm.Page(
title="title",
layout=vm.Layout(
grid=[
[0, 1],
*[[2, 3]]*6
]
),
components=[
vm.Dropdown(
id="dd_component",
title="dropdown title:",
options=[1, 2, 3, 4, 5],
value=1,
multi=False,
actions=[
vm.Action(
function=update_my_card_text(),
inputs=["dd_component.value"],
outputs=["my_card_id.children"],
)
]
),
vm.Dropdown(
title="dropdown with long strings:",
options=[
"AbcAbcAb cAbcAbcAbcAb cAbcAbcAbcAbcAbcAbcAbcA bcAbcAbcAbcAbcAbcAbc AbcAbcAbcAbcAbcAbcAbcAbcAb cAbcAbcAbc AbcAbcAbcAbcAbcAbc",
"BcaBcaBcaBcaBcaBcaBc aBcaBcaBcaBcaBcaBcaBca BcaBcaBcaBcaBcaBcaBcaBcaBca BcaBcaBcaBcaBcaBcaB caBcaBcaBcaBcaBcaBcaBcaBcaBca",
"CabCabCabCabCabCabCabCab CabCabCabCa bCabCabCabCabCabCabCabCabCabCabCab CabCabCabCabCabCabCab abCabCabCabCabCabCabCabCab"
] * 10000,
multi=False,
),
vm.Card(
id="my_card_id",
text="Select a value from the dropdown",
),
vm.Card(
id="my_card_id_2",
text="Select a value from the dropdown",
),
],
controls=[
vm.Dropdown(
options=[
"AbcAbcAb cAbcAbcAbcAb cAbcAbcAbcAbcAbcAbcAbcA bcAbcAbcAbcAbcAbcAbc AbcAbcAbcAbcAbcAbcAbcAbcAb cAbcAbcAbc AbcAbcAbcAbcAbcAbc",
"BcaBcaBcaBcaBcaBcaBc aBcaBcaBcaBcaBcaBcaBca BcaBcaBcaBcaBcaBcaBcaBcaBca BcaBcaBcaBcaBcaBcaB caBcaBcaBcaBcaBcaBcaBcaBcaBca",
"CabCabCabCabCabCabCabCab CabCabCabCa bCabCabCabCabCabCabCabCabCabCabCab CabCabCabCabCabCabCab abCabCabCabCabCabCabCabCab"
] * 1000,
),
vm.Parameter(
targets=["dd_component.options"],
id="parameter",
selector=vm.Dropdown(
title='Selector title:',
id="dd_control",
options=["A", "B", "C"],
value="A",
multi=False,
actions=[
vm.Action(
function=update_dd_component_options(),
inputs=["dd_control.value"],
outputs=["dd_component.options", "dd_component.value"],
),
],
)
)
]
)
dashboard = vm.Dashboard(pages=[page])
Vizro().build(dashboard).run()