Я учусь создавать простое приложение на приборной панели.Он имеет текстовое поле для ввода данных пользователем, в зависимости от того, на каком графике он будет рисовать.
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.