сделать боке обратный вызов TextInput реагировать на ввод текста - PullRequest
0 голосов
/ 19 февраля 2019

Текущая функциональность метода on_change объекта bokeh TextInput заключается в запуске обратного вызова после того, как весь текст напечатан, а затем нажата какая-то другая клавиша.Я хочу знать, можно ли настроить объект TextInput для выполнения обратного вызова при наборе / удалении текста.Следующий код является минимальным примером.

from bokeh.io import curdoc
from bokeh.layouts import widgetbox, column
from bokeh.models import TextInput, Button

button = Button(button_type='success')
ti = TextInput(title='enter text to enable button')
layout = column(
    widgetbox(ti),
    widgetbox(button))

button.disabled = True

def callback(attr, old, new):
    if ti.value != '':
        button.disabled = False
    else:
        button.disabled = True

ti.on_change('value', callback)

curdoc().add_root(layout)

Вот снимок экрана соответствующего приложения.

...

Требуемое поведениедля кнопки, чтобы стать активным, как только текст набран.Скриншот демонстрирует, что этого не происходит.Не показано, что кнопка станет активной после нажатия кнопки «Ввод».

1 Ответ

0 голосов
/ 19 февраля 2019

Начиная с Bokeh 1.3, вы можете смотреть value_input свойство

ti.on_change('value_input', callback)
...