Quantcast
Channel: 🎛️ Dash - Plotly Community Forum
Viewing all articles
Browse latest Browse all 6271

Update Dash Core Component Dropdown options from a callback!

$
0
0

@naveen_9697 wrote:

I am trying to update a Dropdown based on the value from another Dropdown.
It updates second dropdown for ‘treatments’ based on ‘department’ selected from first dropdown.
Here is the function i prepared to make options for second dropdown.

def get_diseases_from_department(department_input):
    try:
        # take copy of dataframe to avoid 'SettingwithCopyWarning' from pandas on every operation on dataframe        
        diseases_of_department = complete_data.copy()
        # now get an array of unique treatments for the disease from the department input
        diseases_of_department = diseases_of_department.loc[(diseases_of_department.loc[:, 'Department'] == department_input)].loc[:,
                                 'Treatment'].unique()
        # make list for options
        diseases_of_department = [{'label': i, 'value': i} for i in diseases_of_department]
    # if an error happens with input, return empty options.
    except ValueError:
        diseases_of_department = [{'label': '', 'value': ''}]
    # return this now
    return diseases_of_department

Here is my callback that takes input from first callback and updates options of another callback:

@his_app.callback(Output(component_id='disease_input', component_property='options'),
                  [Input(component_id='department_input', component_property='value')])
def update_diseases_from_department(department_input_los):
    # getting the list of dictionaries from above function
    diseases_of_department = get_diseases_from_department(department_input=department_input_los)
    return diseases_of_department

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 6271

Trending Articles