Hi, I am try to pass a variable into options dropdown attribute so I can load any variable I want in it.
Let’s say I want to use a file to create a list of options like this :
def get_countries():
"""Load all countries from a file"""
countries = []
with open('./data/countries.txt', 'r', encoding='utf-8') as countries_file:
for country in countries_file:
country_data = country.split('|')
countries.append(
{
'label': country_data[0],
'value': country_data[1].strip('\n')
}
)
return countries
Assuming the file look like somthing like this :
AF|Afghanistan
AL|Albania
DZ|Algeria
...
I put the return value of my function get_countries in a variable countries :
But when I try to put it in the dropdown attribute :
dcc.Dropdown(
id='country',
options=[countries],
value='AF'
),
I get the error :
Invalid argument options[0]
passed into Dropdown with ID “country”.
Expected object
.
Was supplied type array
.
I would like to know if it is possible, and if it is : how to proceed. I tried to get the object Options from html.Option(), but it doesn’t work.
Thank you for your help.