Single input updating multiple paired components

Hi all,
I’m looking for a way to let 1 Input update the options of several dropdowns. I’ve come up with the following code:

@app.callback(
    Output({"id": PREFIX, "name": MATCH}, 'options'),
    Output({"id": PREFIX, "name": MATCH}, 'value'),
    Input({"id": PREFIX, "role": "update"}, 'value'),
    State({"id": PREFIX, "name": MATCH}, 'options'),
    State({"id": PREFIX, "name": MATCH}, 'value'))
def update_dropdown(update, initial_options, initial_value):
    if update == 1:
        ...
        return new_options, new_value
    return initial_options, initial_value

However, my callback is never triggered. I feel like it’s due to the Input not having the MATCH keyword.
One alternative would be to use the ALL keyword, but then I would have to match inputs and states for options and values by hand, which might be tedious…

Any thought on this ?

I do not understand your Input, normal way is ‘id’ and ‘property’.

Hi Eduardo,
Input takes two arguments : component_id and component_property.
Usually, both are strings, but you can put whatever you want as component_id
Also, given the pattern-matching callback context, a dictionary as component_id is the way to go to allow a matching on a part of the component_id.

My bad, the Input was wrong:

@app.callback(
    Output({"id": PREFIX, "name": MATCH}, 'options'),
    Output({"id": PREFIX, "name": MATCH}, 'value'),
    Input({"id": "correct value (not PREFIX)", "role": "update"}, 'value'),
    State({"id": PREFIX, "name": MATCH}, 'options'),
    State({"id": PREFIX, "name": MATCH}, 'value'))
def update_dropdown(update, initial_options, initial_value):
    if update == 1:
        ...
        return new_options, new_value
    return initial_options, initial_value

works just fine