小编pym*_*ymn的帖子

为什么 Prevent_initial_call 不停止初始调用?

我有下面的书面代码。我有两个基于chained callbacks. 第一个下拉菜单获取数据集并读取列的名称并更新第二个下拉菜单中的选项。然后,可以将参数绘制在图表上。我的数据框看起来像这样:

df={'col1':[12,15,25,33,26,33,39,17,28,25],
    'col2':[35,33,37,36,36,26,31,21,15,29],
    'col3':['A','A','A','A','B','B','B','B','B','B'],
    'col4':[1,2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)

我想根据 中的类别突出显示图表背景col3。我不明白为什么当我从第一个下拉菜单中选择数据集时,图表上会出现 col3 的背景颜色(在选择参数之前)。我已经使用了Prevent_initial_call = True,但是第二个回调仍然会触发。

import dash
from dash import Dash, html, dcc, Output, Input, State, MATCH, ALL
import plotly.express as px
import pandas as pd
import numpy as np
import dash_bootstrap_components as dbc

app = Dash(__name__)

app.layout = html.Div([
    html.Div(children=[
        html.Button('add Chart', id='add-chart', n_clicks=0)
    ]),
    html.Div(id='container', children=[])
])

@app.callback(
    Output('container', 'children'),
    [Input('add-chart', 'n_clicks'),
    Input({'type': 'remove-btn', 'index': ALL}, 'n_clicks')],
    [State('container', 'children')],
    prevent_initial_call=True
)
def display_graphs(n_clicks, n, …
Run Code Online (Sandbox Code Playgroud)

python callback plotly-dash

3
推荐指数
1
解决办法
5040
查看次数

标签 统计

callback ×1

plotly-dash ×1

python ×1