bokeh 2.0 Выпадающий атрибут отсутствующего значения - PullRequest
0 голосов
/ 17 марта 2020

боке 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.

1 Ответ

1 голос
/ 17 марта 2020

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 будет содержать пункт меню, который вы щелкнули.

...