python - 以编程方式设置散景中下拉列表的值
问题描述
它曾经在 bokeh 1.4.0 中可以做到:
d=Dropdown(..., value='asdf')
为下拉菜单设置初始值。然后它可以被读取或修改
d2 = d.value
或者
d.value = 'sdfg'
在 2.0.0 中,这已被弃用。查看发行说明
正如在这个答案中提到的,他们现在似乎希望您从作为回调参数的事件中获取值。但是之后:
这似乎意味着如果你想“读取”下拉列表的值,你不能只查询下拉模型实例本身。您必须将它存储在某个单独的变量中,这对我来说似乎有点不方便。
我不知道是否有任何方法可以编程设置...
一个。下拉菜单的初始值,如果它不是菜单中的第一件事(这对于某些应用程序是绝对必要的,这些应用程序可能需要从通过 POST 作为参数传入的内容中预先填充下拉选择)
湾。运行时的值。这似乎是下拉控件的基本功能......其他小部件允许更改它们包含的文本或值,所以我不知道它为什么会被删除。我在散景文档中看不到任何内容。
解决方案
没关系。现在我再次查看下拉控件,我意识到新的 API 与实际的 UI 控件匹配。列表中没有任何视觉选择。每次你把它放下它看起来都是一样的。event
因此,仅在参数 ( event.item
)中提供单击的值是有意义的。例如
dropdown = Dropdown(...)
def dropdown_handler(event):
print(event.item)
dropdown.on_click(dropdown_handler)
推荐阅读
- javascript - 在 Javascript Map 中组合 mongoDB 查询的结果
- dart - Flutter web:“webdev 无法为这个项目运行”
- python - 如何隐藏和/或组合 print() 和 input() 输出?
- android - 如何清理在 WebView 中创建的会话?
- asp.net-mvc-5 - 控制器代码:表单提交和重定向 url 后显示成功
- reactjs - TypeError: Object(...) 不是函数;尝试创建 redux 商店时
- angular - 将 HttpClientModule 添加到 Angular 库会引发“NullInjectorError: No provider for Injector”
- python - 使用 python 进行 Cgi 编程
- reporting-services - 基于 Tablix 中值的文本框条件格式,它只考虑 Tabix 的第一行
- c# - 如何将值注入我的 NLog.config?