栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

更改另一个选择小部件时,如何自动更新下拉选择小部件?(Python面板pyviz)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

更改另一个选择小部件时,如何自动更新下拉选择小部件?(Python面板pyviz)

因此,花了我很多时间才发现这个问题,但是 在您的@ pn.depends()中,您必须添加参数watch = True
,因此它会不断侦听是否发生更改,并且应该对其他列表进行更新。
在这种情况下:

@pn.depends(continent.param.value, watch=True)

整个例子:

_countries = {    'Africa': ['Ghana', 'Togo', 'South Africa'],    'Asia'  : ['China', 'Thailand', 'Japan'],    'Europe': ['Austria', 'Bulgaria', 'Greece']}continent = pn.widgets.Select(    value='Asia',     options=['Africa', 'Asia', 'Europe'])country = pn.widgets.Select(    value=_countries[continent.value][0],     options=_countries[continent.value])@pn.depends(continent.param.value, watch=True)def _update_countries(continent):    countries = _countries[continent]    country.options = countries    country.value = countries[0]pn.Row(continent, country)

此页面上的GoogleMapViewer示例为我指明了正确的方向:
选择器在另一个选择器更改后更新

相同的答案,但以类的形式:

class GoogleMapViewer(param.Parameterized):    continent = param.Selector(default='Asia', objects=['Africa', 'Asia', 'Europe'])    country = param.Selector(default='China', objects=['China', 'Thailand', 'Japan'])    _countries = {'Africa': ['Ghana', 'Togo', 'South Africa'],       'Asia'  : ['China', 'Thailand', 'Japan'],       'Europe': ['Austria', 'Bulgaria', 'Greece']}    @param.depends('continent', watch=True)    def _update_countries(self):        countries = self._countries[self.continent]        self.param['country'].objects = countries        self.country = countries[0]viewer = GoogleMapViewer(name='Google Map Viewer')pn.Row(viewer.param)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661397.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号