как применить интервал d cc к выбранному значению раскрывающегося списка - PullRequest
0 голосов
/ 28 мая 2020

Я хотел бы, чтобы пользователь сначала выбрал идентификатор пациента из раскрывающегося меню, этот выбранный идентификатор будет затем обновлен с использованием dcc.Interval, чтобы получить его текущее кровяное давление в реальном времени в текстовом выводе (в реальном времени через базу данных).

Тем не менее, я могу получить только кровяное давление пациента, но все же мне нужно обновить sh его с помощью f5 для нового давления чтения. Как мне изменить мой второй обратный вызов и его соответствующую функцию?

Я пробовал найти эти учебники, но все еще не уверен, как sh что-то исправить. Спасибо.

My app.layout :

app.layout = html.Div([

                html.Div([dcc.Dropdown(id='dropdown',
                                    options=[{'label': i, 'value': i} for i in x],
                                    value='x',
                                    clearable=False),
                        html.Div(id='table-container')]),

                html.Div([html.Div(id='live-update-text'),
                          dcc.Interval(id='interval-component', interval=2000, n_intervals=0)])

])

Соответствующий обратный вызов :

#First callback and its function [working as expected]
@app.callback(
    dash.dependencies.Output('dropdown', 'options'),
    [dash.dependencies.Input('dropdown', 'value')])
def get_update_db_dropdown(value):
    #connect to database and then return the results.

#Second callback and its pseudo function; I want this to be self refresh/live updating via dcc interval process
@app.callback(
    Output('live-update-text', 'children'),
    [dash.dependencies.Input('dropdown', 'value')])
def set_display_livedata(value):
    #connect to database and obtain blood pressure where id=value
    return f'selected {id} has {bloodPressure}'

1 Ответ

1 голос
/ 28 мая 2020

Чтобы периодически запускать обратный вызов, вы должны добавить компонент Interval в качестве входа. Следовательно, ваш второй обратный вызов должен быть

@app.callback(
    Output('live-update-text', 'children'),
    [dash.dependencies.Input('dropdown', 'value'), dash.dependencies.Input('interval-component', 'n_intervals')])
def set_display_livedata(value, n_intervals):
    #connect to database and obtain blood pressure where id=value
    return f'selected {id} has {bloodPressure}'
...