Python Dash:在另一个下拉列表中选择相同选项时从一个下拉列表中排除选项

Python Dash: Exclude option from one dropdown when chosing the same option in another dropdown

我正在开发 Python Dash 仪表板,并且有两个具有相同选项的下拉菜单:

enter image description here

当我在第一个下拉列表中 select 一个选项时,如何从第二个下拉列表中排除相同的选项? - 这样我就不能在两个下拉菜单中选择相同的 material。

我将在我的代码中在哪里以及如何执行此操作? 我想它一定在我的回调中的某个地方?

非常感谢任何帮助。

@app.callback(
    dash.dependencies.Output('dropdown3', 'options'),    
    [dash.dependencies.Input('dropdown2', 'value')])

def set_options1(first_dropdown):
    return [{'label': i, 'value': i} for i in all_options[first_dropdown]]

@app.callback(
    dash.dependencies.Output('dropdown3', 'value'),
    [dash.dependencies.Input('dropdown3', 'options')])

def set_1_value(available_options):
    return available_options[0]['value']

您当然可以做到这一点,而且您已经完成了大部分工作。使用第一个下拉列表中的值修改第二个下拉列表的选项。这是一个方法:

def set_options1(first_dropdown):
    return [
        {'label': i, 'value': i} 
        for i in all_options[first_dropdown] if i != first_dropdown
    ]