当前位置: 代码迷 >> 综合 >> 【dash】如果在layout上的动态component暂时没有加载出来 如何解决component is not exist的问题
  详细解决方案

【dash】如果在layout上的动态component暂时没有加载出来 如何解决component is not exist的问题

热度:43   发布时间:2023-11-14 11:48:18.0

Callbacks require their Inputs, States, and Output to be present in the layout

回调要求其输入,状态和输出出现在布局中

默认情况下,Dash将验证应用于您的回调,这将执行检查,例如验证回调参数的类型以及检查指定的Input和Output组件是否实际上具有指定的属性。为了进行全面验证,因此回调中的所有组件都必须出现在应用程序的初始布局中,否则,您将看到错误。

但是,对于涉及动态修改布局的更复杂的Dash应用程序(例如多页应用程序multi-page apps),并不是出现在回调中的每个组件都将包含在初始布局中。 您可以通过禁用回调验证来消除此限制,如下所示:

app.config.suppress_callback_exceptions = True

意思就是,不是所有的组件都在加载页面元素的时候显示出来了,这个时候写callback的时候,Dash会验证,要求所有callback中的组件都要存在于当前页面中。(有些动态组件可能需要经过一段时间才能显示),所以就设置为不让Dash验证,亲测有效。

  相关解决方案