本帖最后由 橘猫今天喝水了吗 于 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;
})
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<结束
}
|