在键入文本时使散景 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)
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)