在键入文本时使散景 TextInput 回调响应

make a bokeh TextInput callback responsive as text is typed

bokehTextInput对象的on_change方法的当前功能是运行所有文本输入后的回调,然后其他键被按下。我想知道是否可以将 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)

这里是对应应用的截图。

期望的行为是按钮在输入文本后立即激活。屏幕截图表明这没有发生。未显示按钮将在按下 'enter' 后变为活动状态。

从 Bokeh 1.3 开始,您可以观看 value_input 属性

ti.on_change('value_input', callback)