widget - 如何让 panel.widgets.MultiSelect 的选项依赖于其他小部件输入
问题描述
我有一个多选小部件,pn.widgets.MultiSelect
,我试图得到它,当它的值被选中时,它会更新options
另一个pn.widgets.MultiSelect
. 这与更改另一个选择小部件时如何自动更新下拉选择小部件非常相似?(Python panel pyviz)但是,我在实现它方面并没有取得太大的成功。
使用上面示例中的数据,但作为pandas
数据框,当我尝试更新选项时,没有任何反应:
outerType = pn.widgets.MultiSelect(name="Outer",
value=["Africa"],
options=np.unique(df.cont).tolist())
innerType = pn.widgets.MultiSelect(name="Inner",
options=np.unique(df.loc[df['cont'].isin(outerType.value)].country).tolist())
@pn.depends(outerType, watch=True)
def _update(outerType):
_values = np.unique(df.loc[df['cont'].isin(outerType.value)].country).tolist()
innerType.options = _values
innerType.value = _values
pn.Row(outerType, innerType)
如果我使用也会发生同样的情况
@pn.depends(outerType.param.value, watch=True)
def _update(outerType):
但是,如果我使用下面的代码,它会按我的预期执行;这AnyOldDummy
用作 中的参数def
。请问我怎样才能正确地做到这一点?
outerType = pn.widgets.MultiSelect(name="Outer",
value=["Africa"],
options=np.unique(df.cont).tolist())
innerType = pn.widgets.MultiSelect(name="Inner",
options=np.unique(df.loc[df['cont'].isin(outerType.value)].country).tolist() )
@pn.depends(outerType, watch=True)
def _update(AnyOldDummy):
_values = np.unique(df.loc[df['cont'].isin(outerType.value)].country).tolist()
innerType.options = _values
innerType.value = _values
pn.Row(outerType, innerType)
数据:
import numpy as np
import pandas as pd
import panel as pn
pn.extension()
_countries = {
'Africa': ['Ghana', 'Togo', 'South Africa'],
'Asia' : ['China', 'Thailand', 'Japan'],
'Europe': ['Austria', 'Bulgaria', 'Greece']
}
df = []
for cont in _countries.keys():
co = _countries.get(cont)
df.append(np.c_[np.repeat(cont, len(co)), co])
df = pd.DataFrame(np.vstack(df), columns=['cont', 'country'])
解决方案
推荐阅读
- layout - Filemaker——如何在多个页面上显示子摘要
- php - 在 WooCommerce 中创建订单时过滤商品单价
- sql - SQL 多个左连接:A 到 B,然后 A 到 C
- python - 如何有效地将时间/日期字符串解析为日期时间对象?
- c# - SQLite 事务回滚与内存数据库不同
- r - write.csv 给出“文件错误(文件,ifelse(追加,“a”,“w”)):无法打开连接”
- java - 获取打印字符串之间的空格
- mysql - MYSQL 过程:循环遍历 Text 列的不同值并创建临时表
- excel - 为什么 CSV 文件在保存后会损坏?
- powerbi - PowerBI-Drill Down Map PRO by ZoomCharts 颜色和光环功能