data-dash-is-loading 何时触发回调函数?

Posted

技术标签:

【中文标题】data-dash-is-loading 何时触发回调函数?【英文标题】:When does data-dash-is-loading trigger a callback function? 【发布时间】:2020-07-04 06:44:11 【问题描述】:

我试图在使用 CSS 属性 data-dash-is-loading 更新 Dash 图形时显示微调器。

我找到了一个可行的解决方案,但想知道为什么我以前的方法无法获得更多洞察力。

文档的结构是

html.Div(id="some-container",
         children=[dcc.Graph(id="some-graph",
                             figure=fig)])

这是我尝试的两个回调函数,一次一个。 工作回调函数更新整个容器的孩子:

@app.callback(
Output("some-container", "children"),
[Input("some-dropdown", "value")])

不起作用的回调函数是

@app.callback(
Output("some-graph", "figure"),
[Input("some-dropdown", "value")])

嗯,它工作正常,它会按原样更新图形,但不会触发data-dash-is-loading

CSS 代码取自here:

*[data-dash-is-loading="true"]
    visibility: hidden;

*[data-dash-is-loading="true"]::before
    content: "Loading...";
    display: inline-block;
    color: magenta;
    visibility: visible;

谁能告诉我是什么原因?

【问题讨论】:

【参考方案1】:

您可能正在覆盖您的 div some-container 的子代。当第二个回调被触发时,图"some-graph" 可能不再存在。

解决方法是为您的图表和更新的项目创建 2 个单独的 div。

【讨论】:

我一次只使用一个回调函数,我交换了它们。该图仍然存在,因为我可以看到它,对吗?更新图形工作正常,它只是不会触发 data-dash-is-loading。 你有什么想法吗?

以上是关于data-dash-is-loading 何时触发回调函数?的主要内容,如果未能解决你的问题,请参考以下文章

知道 -viewWillAppear 何时触发但 -viewWillDisappear 尚未触发

为啥/何时我必须点击两次才能触发 iOS 上的点击

Postgresql忽略触发器上的“何时”条件

定义 onclick 何时触发

Firebase:onDisconnect 事件何时触发?

如何知道何时触发 JQuery 函数?