(此文档仅供参考,因宏代码有一定场景限制,如不满足实际应用场景,需自行调整相关宏代码)
问题说明
仪表盘中想要实现,切换参数筛选条件后,实现页签组件同步切换页签的效果。具体如下图所示:
解决方案
可通过对仪表盘写宏处理:
/*
对象:smartbix_page;
事件:onRender
*/
function main(page: IPage) {
// 获取页签
let portlet = page.getPortletsByTitle("页签_1")[0] as IStaticTabsPortlet
// 获取参数的值
let otherPortlet = page.getPortletsByTitle("参数")[0] as IFilterPortlet
if (!portlet || !otherPortlet) return
otherPortlet.setFilterValueChangeHandler(function (value) {
let a = value[0];
if (a == "test1") {
portlet.setActiveTabName('1')
} else if (a == "test2") {
portlet.setActiveTabName('0')
} else { portlet.setActiveTabName('2')}
return value
})
}
page.getPortletsByTitle("页签_1")[0] 的“页签_1”可以通过图层查看具体页签组件的名称是什么,筛选器名称获取同理: