本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
1. 示例效果
预期效果:获取到筛选器的值并用弹窗显示出来
2. 操作步骤
- 步骤一:新建一个空白的自助仪表盘
- 步骤二:拖入表组件 ,选择数据模型或业务主题
拖拽所需字段并设置筛选器,效果如下:
- 步骤三:选中筛选器“年季”,右键进入宏管理页
- 步骤四:在界面新建宏,弹出的新建模块对话框中输入名称,勾选对象为组件,事件为“onAfterRender(组件渲染后)”
- 步骤五:编写宏代码实现效果
示例主要使用的是 IFilterPortlet 对象下的getValue()方法(点击查看API详情),把下面宏代码复制到代码区域;
function main(page: IPage, portlet: IFilterPortlet) { let msg = [] // 获取其他筛选器 let otherPortlet: IFilterPortlet = page.getPortletsByTitle('ShipRegion')[0] if (!otherPortlet) return // 获取当前组件的值 let curValue = portlet.getValue() // 获取其他筛选器的值 let otherValue = otherPortlet && otherPortlet.getValue() // 拼接弹出框提示 msg.push(`筛选器[${portlet.getTitle()}]的值:\r\n${curValue}`) msg.push('---------------------------------\r\n') msg.push(`筛选器[${otherPortlet.getTitle()}]的值:\r\n${otherValue}`) alert(`${msg.join('\r\n')}`) }
- 步骤六:点击 保存。重新访问报表,可看到效果已实现