3

レイアウトにボタンを追加しました。コールバックを記述しようとすると、次のエラーが発生します。

dash.exceptions.NonExistantEventException: 
Attempting to assign a callback with
the event "click" but the component
"get_custom_vndr" doesn't have "click" as an event.

Here is a list of the available events in "get_custom_vndr":
[]

レイアウトに追加する方法は次のとおりです。

app_vndr.layout = html.Div([
    html.Button(
        '+',
        id='get_custom_vndr',
        type='submit'
    )
])

上記のエラーを発生させているコールバック関数は次のとおりです。

@app_vndr.callback(
    dash.dependencies.Output('overlay', 'className'),
    events=[dash.dependencies.Event('get_custom_vndr', 'click'),
            dash.dependencies.Event('add_vndr_id_submit', 'click')])
def show_input(b1_n, b2_n):    
    if b1_n>0:
        return ''
    elif b1_n>0:
        return 'hidden'

レイアウトにボタンを追加したときに何か見落としましたか? またはコールバックを書き込もうとしたとき?

私はそれが働くようになりました

dash.dependencies.Input('get_custom_vndr', 'n_clicks')

しかし、同じ出力に 2 つのボタンを使用したいのですが、n_clicks イベントでは、各ボタンの現在の n_clicks と以前の n_clicks を比較して、どのボタンがクリックされたかを把握する必要があります。それを行うハックな方法。

4

2 に答える 2