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

use a callback to toggle the collapse on small screens

我在很多代码中看到了很多这样的代码,我什至还通过从某个地方复制它来使用这段代码。但我不明白他们在做什么。任何人都可以帮助我使用以下代码吗?谢谢

# 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)

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

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

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