(本文档仅供参考,请根据实际需求内容调整)
问题
仪表盘中有一筛选器,两个表格,如何根据筛选器的值控制两个表格的显示隐藏,如筛选器的值为"1",显示"图表1",筛选器的值为"2"
解决方案
可以考虑对筛选器组件创建如下宏代码调整实现,实现效果见动图。
//类型:ClientSide 事件:onBeforeRender
function main(page: IPage, portlet: IFilterPortlet) {
debugger;
//初始化显示
table_switch(page,'2')
// 选择值之后做切换
portlet.setFilterValueChangeHandler(function (value: any) {
table_switch(page, value[0]);
return value;
})
function table_switch(page: IPage, title: string) {
const table1: ITablePortlet = page.getPortletsByTitle('图表1')[0] as ITablePortlet;
const table2: ITablePortlet = page.getPortletsByTitle('图表2')[0] as ITablePortlet;
if (title == '1') {
table1.show();
table2.hide();
} else if (title == '2') {
table1.hide();
table2.show();
}
}
}