首页 > 解决方案 > 以编程方式设置散景中下拉列表的值

问题描述

它曾经在 bokeh 1.4.0 中可以做到:

d=Dropdown(..., value='asdf')

为下拉菜单设置初始值。然后它可以被读取或修改

d2 = d.value

或者

d.value = 'sdfg'

在 2.0.0 中,这已被弃用。查看发行说明

正如在这个答案中提到的,他们现在似乎希望您从作为回调参数的事件中获取值。但是之后:

  1. 这似乎意味着如果你想“读取”下拉列表的值,你不能只查询下拉模型实例本身。您必须将它存储在某个单独的变量中,这对我来说似乎有点不方便。

  2. 我不知道是否有任何方法可以编程设置...

    一个。下拉菜单的初始值,如果它不是菜单中的第一件事(这对于某些应用程序是绝对必要的,这些应用程序可能需要从通过 POST 作为参数传入的内容中预先填充下拉选择)

    湾。运行时的值。这似乎是下拉控件的基本功能......其他小部件允许更改它们包含的文本或值,所以我不知道它为什么会被删除。我在散景文档中看不到任何内容。

标签: pythonbokeh

解决方案


没关系。现在我再次查看下拉控件,我意识到新的 API 与实际的 UI 控件匹配。列表中没有任何视觉选择。每次你把它放下它看起来都是一样的。event因此,仅在参数 ( event.item)中提供单击的值是有意义的。例如

dropdown = Dropdown(...)

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

dropdown.on_click(dropdown_handler)

推荐阅读