使用回调在小屏幕上切换折叠

问题描述 投票:0回答:1

我在许多代码示例中看到了很多这样的内容,我什至还通过从某处复制来使用此代码。但我不明白他们在做什么。谁能帮我解决下面的代码?

# we use a callback to toggle the collapse on small screens
@app.callback(
    Output("navbar-collapse", "is_open"),
    [Input("navbar-toggler", "n_clicks")],
    [State("navbar-collapse", "is_open")],
)
def toggle_navbar_collapse(n, is_open):
    if n:
        return not is_open
    return is_open


if __name__ == "__main__":
    app.run_server(debug=False)
python plotly-dash
1个回答
1
投票

此回调是通过单击 id 为

navbar-toggler
的可点击元素(很可能是按钮)来触发的。这是一个
input
参数,意味着只要该元素的
n_click
发生变化,就会触发回调。

state
参数是可折叠元素当前的折叠状态(
True
False
)。

if
条件检查按钮是否已被单击,如果没有,则很可能是应用程序的初始加载,因此只需按原样返回当前可折叠元素的折叠状态。如果
n_clicks
大于0(即点击触发回调),则返回当前可折叠元素的折叠状态的否定(即如果是
True
更改为
False
,反之亦然) 。这样,当它折叠并切换按钮时,可折叠元素将重新打开,反之亦然。

© www.soinside.com 2019 - 2024. All rights reserved.