如何从下拉菜单/单选按钮存储用户输入的变量?

问题描述 投票:1回答:1

我正在使用Dash创建Web应用程序。在这种情况下,我必须使用下拉/单选按钮从用户那里获取值,并且需要根据用户输入来显示数据。我可以使用dcc.Dropdown将下拉列表合并到我的应用程序中,但是需要知道如何将所选下拉列表的值存储在变量中。

python input dropdown plotly-dash
1个回答
0
投票

您想为上述用户输入创建回调:

import dash_core_components as dcc
import dash_html_components as html
from dash.exceptions import PreventUpdate
import dash
from dash.dependencies import Input, Output

app = dash.Dash(__name__)

app.layout = html.Div(
    children=[
        html.H1('Select an Option from Below:'),
        # First create your interact with a specific classname
        dcc.RadioItems(
            className = 'radio-items',
            id='radio-items',
            options=[{'label':x,'value':x} for x in ['Item 1', 'Item 2','Item 3']],
            ),
        html.Div(
            id = 'user-output',
            children = 'Please select a value from the dropdown menu',
            )
        ]
    )

# Now create a callback
@app.callback(
    Output('user-output','children'),
    [Input('radio-items','value')])

def update_user_output(value_select):
    """
    Callback to make app interactive
    """
    # Don't update if the user hasn't selected anything
    if value_select is None:
        raise PreventUpdate
    # return the value
    return f'You\'ve selected {value_select}'


if __name__ == '__main__':
    app.run_server()

棘手的部分是利用回调或回调的值进行其他操作。为此,我建议您要么使用指定的交互项创建多个回调,要么将此交互的值存储在内存输出对象(在大多数情况下不建议使用)>]。

© www.soinside.com 2019 - 2024. All rights reserved.