Closed
Description
From https://community.plot.ly/t/multiple-callback-error/24981
Probably came from removing the MutableMapping
mixin #753
This app has bad IDs in the second callback:
import dash
import dash_html_components as html
import dash_core_components as dcc
from dash.dependencies import Input, Output
series = [str(i) for i in range(20)]
all_options = {
'group_1': series[1:5],
'group_2': series[6:10],
'group_3': series[11:-1],
}
app = dash.Dash()
app.layout = html.Div(children=[
html.P([
html.Label('Choose a group:'),
dcc.Dropdown(
id='groups_dropdown',
options=[{'label': k, 'value': k} for k in all_options.keys()],
value='group_1'
)
], style=dict(width='400px')),
html.P([
html.Label('Choose a series:'),
dcc.Dropdown(id='series_dropdown')
], style=dict(width='400px')),
])
@app.callback(Output('series_dropdown', 'options'),
[Input('groups_dropdown', 'value')])
def set_series_options(selected_group):
return [{'label': i, 'value': i} for i in all_options[selected_group]]
@app.callback(Output('series-dropdown', 'value'),
[Input('series-dropdown', 'options')])
def set_series_value(available_options):
return available_options[0]['value']
if __name__ == '__main__':
app.run_server(debug=True)
But the error is broken:
Traceback (most recent call last):
File "f.py", line 40, in <module>
[Input('series-dropdown', 'options')])
File "/Users/alex/plotly/dash/dash/dash.py", line 1156, in callback
self._validate_callback(output, inputs, state)
File "/Users/alex/plotly/dash/dash/dash.py", line 865, in _validate_callback
list(layout.keys()) + (
AttributeError: 'Div' object has no attribute 'keys'