Как задать задержку при вводе пользователем в текстовое поле в приложении-черточке? - PullRequest
0 голосов
/ 04 октября 2018

Я учусь создавать простое приложение на приборной панели.Он имеет текстовое поле для ввода данных пользователем, в зависимости от того, на каком графике он будет рисовать.

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

app = dash.Dash()

app.layout = html.Div(children=[
    html.Div(children='User input:'),
    dcc.Input(id='input', value='', type='text'),
    html.Div(id='output-graph'),
])

@app.callback(
    Output(component_id='output-graph', component_property='children'),
    [Input(component_id='input', component_property='value')]
)
def update_value(input_data):
    return dcc.Graph(
    ### Do something ###
    )

Проблема в том, что, поскольку dash использует реагирует в фоновом режиме, он продолжает выдавать ошибки в консоли всякий раз, когда ввод вводится, пока не достигнет действительного ввода.Например, если я строю цены на акции для символа акции (скажем, AAPL), он выдает ошибку после ввода каждой буквы, пока не наберу все 4 действительных буквы.

Я хотел бы добавить задержку, скажем, в 1 секунду после того, как пользователь вводит последний символ, прежде чем приложение попытается прочитать ввод.Как я могу это сделать?Я искал в Интернете об этом, но ничего не могу найти.

Кроме того, если вход после 1-секундной задержки является неверным (например, AAPF вместо AAPL, например), он долженвернуть что-то вроде Wrong input, please enter again.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...