Как получить доступ к данным события? - PullRequest
0 голосов
/ 10 мая 2019

Обработчики кликов в боке 1.0.3 имели подпись attr, old, new. Теперь передается один объект события. Как я могу получить доступ к его значениям?

menu = [('a', 'a'), ('b', 'b')]
dropdown = Dropdown(label='clickme', menu=menu)
def click_handler(event):
    print(event)

возвращает

bokeh.events.MenuItemClick объект в 0x7ff7de1cc208

РЕДАКТИРОВАТЬ: Где в документации описан доступ к значениям событий? Я не смог найти ничего на https://bokeh.pydata.org/en/latest/docs/reference/events.html

1 Ответ

1 голос
/ 10 мая 2019

Я не уверен, откуда у вас эта информация, но она не совсем верна.Dropdown был недавно уточнен как тип Button, поэтому возможность реагировать на события щелчков того же типа, что и другие кнопки, была добавлена ​​.Но ничто не могло заменить.Обратные вызовы для изменений свойств работают для любого свойства объекта Bokeh, включая Dropdown.value, и это не изменилось:

from bokeh.io import curdoc
from bokeh.models import Dropdown

menu = [('a', 'a'), ('b', 'b')]
dropdown = Dropdown(label='clickme', menu=menu)

def cb(attr, old, new):
    print(attr, old, new)
dropdown.on_change('value', cb)

curdoc().add_root(dropdown)
...