我正在开发一个 Bokeh 应用程序,该应用程序在其他小部件中具有 aTextInput
和MultiSelect
. (由于 Bokeh 没有本地搜索小部件,我尝试构建一个具有输入框和一个框来显示基于输入字段的 dB 查询返回的结果。)
TextInput
boxask_fruit
的代码用于MultiSelect
显示 dB 查询返回的结果。使用的callback
功能TextInput
是db_query
。
def SearchDisplay():
ask_fruit = TextInput(value="Enter fruit name here",
title="Input box:"
)
ask_fruit.on_change("value", db_query)
available_fruits = MultiSelect(title=None,
value=["All"],
options=[]
)
return [ask_fruit, available_fruits]
def db_query(attr, old, new):
#conn = pyodbc.connect('fruit-db', autocommit=True)
#curs = conn.cursor()
#query = "select fruit_id from fruitdB"
#curs.execute(query)
#fruit_list = curs.fetchall()
fruit_list = ["Fuji", "Gala", "McIntosh"]
return fruit_list
问题是如何MultiSelect
使用回调返回的结果填充小部件?
是否可以只options=[ask_fruit.on_change("value", db_query)]
在代码中执行MultiSelect
?
操作如下所示: