python - Plotly Dash App:两个相互依赖的组件
问题描述
我正在尝试创建一个应用程序,其中两个组件(在本例中为单选按钮和下拉菜单)相互依赖。这意味着当单选按钮更改时,下拉菜单需要调整,反之亦然。
单向依赖相当简单,每个回调都可以单独工作。但是,当同时包含两者时,应用程序会在浏览器中显示“加载依赖项时出错”。
import pandas
import sys
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import plotly.graph_objs as go
import datetime
import numpy as np
import math
df = pandas.DataFrame(list(zip([1,2,3], ['a', 'b', 'c'])))
app = dash.Dash(__name__)
server = app.server
app.layout = html.Div(
[
html.P('Select:'),
dcc.RadioItems(
id='radio',
options=[
{'label': x, 'value': x} for x in df[0].unique()
],
value=df[0].unique()[0],
),
dcc.Dropdown(
id='dropdown',
options=[
{'label': x, 'value': x} for x in df[1].unique()
],
value=[df[1].unique()[0]]
),
])
@app.callback(
dash.dependencies.Output('dropdown', 'value'),
[dash.dependencies.Input('radio', 'value')])
def update_dropdown(radio):
return(df[df[0]==radio][1].values[0])
@app.callback(
dash.dependencies.Output('radio', 'value'),
[dash.dependencies.Input('dropdown', 'value')])
def update_radio(dropdown):
return(df[df[1]==dropdown][0].values[0])
if __name__ == '__main__':
app.run_server(debug=False)
解决方案
推荐阅读
- azure - azure webapp webjob 节点版本
- javascript - 减慢滚动顶部jquery
- android - 当我以编程方式更改我的应用程序语言时,如何保护我的应用程序用户界面发生变化?
- node.js - 重建家园时出现 npm 符号链接错误
- .htaccess - htaccess 将 example.com/about 重定向到 https://www.example.com/about
- java - 如何在返回带有条件的布尔值的方法上使用流
- android - Android:如何以设备所有者身份通过设备策略管理器禁用播放保护?
- r - prop.test,以其他类为条件
- laravel - Laravel RegisterController 路由未找到
- mips - 如何为 MIPS 中的指令设置内存地址?