| 本帖最后由 橘猫今天喝水了吗 于 2024-12-26 14:25 编辑 
 
 以下代码是通过宏控制另一个组件是否显示的。 
   
 代码说明: 
 1.宏代码写在作为控制器的筛选器组件上 
 2. 
 
    let otherportlet = page.getPortletsByTitle('筛选_1')[0]; 根据标题来获取其他组件,以实现对其属性的修改。     current_value = portlet.getValue(); 是当前筛选器的值。 3.逻辑,如果当前筛选器的值是2017,则将另一个组件隐藏起来。 
 function main(page: IPage, portlet: IFilterPortlet) {
 //获取另一个组件(或者组件们)
 let otherportlet = page.getPortletsByTitle('筛选_1')[0];
 //let otherportlet_2 = page.getPortletsByTitle('筛选_2')[0];
 //let otherportlet_3 = page.getPortletsByTitle('筛选_3')[0];
 current_value = portlet.getValue();
 //这段代码,是渲染页面时,根据下拉框的值,隐藏其他组件
 if (current_value[0] == '2017') {
 //隐藏
 otherportlet.hide();
 
 }
 
 //这里是在选中下拉参数时,控制是否隐藏组件
 portlet.setFilterValueChangeHandler(function (value: Array) {
 if (value[0] == '2017') {
 //隐藏
 otherportlet.hide();
 }
 else {
 //显示
 otherportlet.show();
 
 };
 return value;
 
 })
 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<结束
 }
 
   |