带有导航栏的回调 plotly dash python
Callback with navbar plotly dash python
我在下面有这段代码。我创建了 3 个导航链接:输入、计算和关于。
现在在输入 sheet 上,我想为用户添加几个下拉菜单和输入字段。我如何包含这些输入字段并为它们提供 id,因为我想稍后将它们用于计算(即我创建了一个下拉列表并给它一个 id 为“my-dropdown”,以便以后用于我想在计算中进行的计算).
到目前为止,这就是我在回调中的内容,但如果我想使用 elif 路径名 == “/inputs” 继续我的功能,然后我开始包含我的输入字段,我将无法存储它们一旦我想进行计算,稍后再调用它们。能给个建议吗?
navbar = dbc.NavbarSimple(
children=[
dbc.NavItem(dbc.NavLink("INPUTS", href="/inputs", external_link=True, active="exact")),
dbc.NavItem(dbc.NavLink("CALCULATIONS", href="/calculations", external_link=True, active="exact")),
dbc.NavItem(dbc.NavLink("ABOUT", href="/about", external_link=True, active="exact")),
dbc.DropdownMenu(
children=[
dbc.DropdownMenuItem("Comments", href="/comments", external_link=True),
dbc.DropdownMenuItem("Version Updates", href="/updates", external_link=True),
],
nav=True,
in_navbar=True,
label="More",
),
],
brand="Main Page Title",
color="#015151",
dark=True
)
content = html.Div(id="page-content", children=[])
app.layout = html.Div([
dcc.Location(id="url"),
navbar,
content
])
# ---------------------------------------------------------------------------
## APP CALLBACKS ##
# Add info in about section
@app.callback(
Output("page-content", "children"),
[Input("url", "pathname")]
)
def render_page_content(pathname):
if pathname == "/about":
return [
html.Br(),
html.Br(),
html.P('About', style={'fontWeight': 'bold', 'font-size': 32, 'margin-left': '20px'}),
我建议你有一些全局隐藏的临时 div 或者使用 dcc.Store
component 可以保存在 inputs
sheet 上输入的输入,然后你只需引用 calculations
sheet 中包含这些输入的隐藏 div,而不是引用 inputs
sheet 组件。
我在下面有这段代码。我创建了 3 个导航链接:输入、计算和关于。
现在在输入 sheet 上,我想为用户添加几个下拉菜单和输入字段。我如何包含这些输入字段并为它们提供 id,因为我想稍后将它们用于计算(即我创建了一个下拉列表并给它一个 id 为“my-dropdown”,以便以后用于我想在计算中进行的计算).
到目前为止,这就是我在回调中的内容,但如果我想使用 elif 路径名 == “/inputs” 继续我的功能,然后我开始包含我的输入字段,我将无法存储它们一旦我想进行计算,稍后再调用它们。能给个建议吗?
navbar = dbc.NavbarSimple(
children=[
dbc.NavItem(dbc.NavLink("INPUTS", href="/inputs", external_link=True, active="exact")),
dbc.NavItem(dbc.NavLink("CALCULATIONS", href="/calculations", external_link=True, active="exact")),
dbc.NavItem(dbc.NavLink("ABOUT", href="/about", external_link=True, active="exact")),
dbc.DropdownMenu(
children=[
dbc.DropdownMenuItem("Comments", href="/comments", external_link=True),
dbc.DropdownMenuItem("Version Updates", href="/updates", external_link=True),
],
nav=True,
in_navbar=True,
label="More",
),
],
brand="Main Page Title",
color="#015151",
dark=True
)
content = html.Div(id="page-content", children=[])
app.layout = html.Div([
dcc.Location(id="url"),
navbar,
content
])
# ---------------------------------------------------------------------------
## APP CALLBACKS ##
# Add info in about section
@app.callback(
Output("page-content", "children"),
[Input("url", "pathname")]
)
def render_page_content(pathname):
if pathname == "/about":
return [
html.Br(),
html.Br(),
html.P('About', style={'fontWeight': 'bold', 'font-size': 32, 'margin-left': '20px'}),
我建议你有一些全局隐藏的临时 div 或者使用 dcc.Store
component 可以保存在 inputs
sheet 上输入的输入,然后你只需引用 calculations
sheet 中包含这些输入的隐藏 div,而不是引用 inputs
sheet 组件。