bokeh 2.0 Dropdown 缺失值属性

bokeh 2.0 Dropdown missing value attribute

背景虚化 1.4.0

>>> import bokeh
>>> bokeh.__version__
'1.4.0'
>>> from bokeh.models import Dropdown
>>> Dropdown().value is None
True

背景虚化 2.0

>>> import bokeh
>>> bokeh.__version__
'2.0.0'
>>> from bokeh.models import Dropdown
>>> Dropdown().value is None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Dropdown' object has no attribute 'value'

现在是否有另一个属性可以用来代替值?

有关 value 属性的用例,请参见

Dropdown.value 是一个实现细节,根据其文档字符串,Bokeh 用户不打算使用它。除此之外,Dropdown 在语义上只是按钮的集合。它不应该有 任何 类型的状态,它应该只是将 on_click 事件作为常规按钮发送,就像它在 2.0 中所做的那样。这就是 value 属性在 2.0.0.

中被删除的原因

为了在点击下拉按钮时触发 Python 代码,您可以使用

from bokeh.models import Dropdown

d = Dropdown(label='Click me', menu=['a', 'b', 'c'])


def handler(event):
    print(event.item)


d.on_click(handler)

event.item 将包含您单击的菜单项。