打开页面的几种方法
目前有两种方法 一是打开一个门户功能页
二是打开一个对话框
场景描述
在一个页面中打开另一个页面,并且给被打开页面传参。被打开页面使用传过来的参数过滤数据等操作。
实现思路
- 打开门户页,需要通过写js代码实现,调用justep.Shell.ShowPage()方法打开门户页,同时传参
- 打开对话框,可以通过对话框组件的打开操作或调用对话框组件的open方法打开对话框,同时传参
- 被打开页面,定义页面参数,数据集使用页面参数作为过滤条件
实现步骤
1. JS中打开门户功能页
从页面的页面URL属性中获取页面的url
$UI/pcx/kehu_xq1.w
调用$page.getUIUrl方法对url进行转换
var url = $page.getUIUrl("$UI/pcx/kehu_xq1.w");
调用justep.Shell.ShowPage打开页面
justep.Shell.showPage(url);
打开页面时,可以设置页面标题
justep.Shell.showPage({ "url":url, "title":"已完成订单" });
打开页面时,可以给页面传参,其中operate就是在被打开页面中定义的参数
justep.Shell.showPage({ "url":url, "title":"新订单", "operate":"new" });
如果被打开的页面不需要在功能树上显示,需要在配置中设置为隐藏
打开要设置的页面,点开配置,设置隐藏
2. 操作中打开门户功能页
3. 打开对话框
3.1 使用操作打开对话框
- 在页面中添加对话框组件
- 设置对话框组件的页面文件属性中选择一个要打开的页面
- 调用对话框组件的打开操作,打开对话框
- 在打开操作中的页面参数属性中,可以给被打开页面的参数赋值
3.2 写代码打开对话框
前两步同上
- 调用对话框组件的打开方法,打开对话框
let onOpenDialogBtnClick = (event) => {
$page.comp("dialog0").open();
}
- 给被打开的页面传参
let onButton2Click = (event) => {
$page.comp("dialog0").open({"params":{"action":"create"}});
}
4. 被打开页面设置页面参数
每个页面都可以设置页面参数,选中页面,点击页面参数设置按钮,在这里设置当前页面的页面参数。
5. 被打开页面使用页面参数
5.1 在w文件中使用页面参数
定义了页面参数后,在表达式编辑器中的数据里面会出现页面参数,下面是定义的参数,如下图所示
5.2 在js文件中使用页面参数
在js文件中使用this.params获取页面参数,例如获取操作operate参数的写法如下:
$page.params.operate