打开页面的几种方法

目前有两种方法 一是打开一个门户功能页

二是打开一个对话框

场景描述

在一个页面中打开另一个页面,并且给被打开页面传参。被打开页面使用传过来的参数过滤数据等操作。

实现思路

  • 打开门户页,需要通过写js代码实现,调用justep.Shell.ShowPage()方法打开门户页,同时传参
  • 打开对话框,可以通过对话框组件的打开操作或调用对话框组件的open方法打开对话框,同时传参
  • 被打开页面,定义页面参数,数据集使用页面参数作为过滤条件

实现步骤

1. JS中打开门户功能页

  1. 从页面的页面URL属性中获取页面的url

     $UI/pcx/kehu_xq1.w
    
  2. 调用$page.getUIUrl方法对url进行转换

     var url = $page.getUIUrl("$UI/pcx/kehu_xq1.w");
    
  3. 调用justep.Shell.ShowPage打开页面

     justep.Shell.showPage(url);
    
  4. 打开页面时,可以设置页面标题

     justep.Shell.showPage({
             "url":url,
             "title":"已完成订单"
     });
    
  5. 打开页面时,可以给页面传参,其中operate就是在被打开页面中定义的参数

     justep.Shell.showPage({
             "url":url,
             "title":"新订单",
             "operate":"new"
     });
    

如果被打开的页面不需要在功能树上显示,需要在配置中设置为隐藏

打开要设置的页面,点开配置,设置隐藏

2. 操作中打开门户功能页

3. 打开对话框

3.1 使用操作打开对话框

  1. 在页面中添加对话框组件
  2. 设置对话框组件的页面文件属性中选择一个要打开的页面
  3. 调用对话框组件的打开操作,打开对话框
  4. 在打开操作中的页面参数属性中,可以给被打开页面的参数赋值

3.2 写代码打开对话框

前两步同上

  1. 调用对话框组件的打开方法,打开对话框
let onOpenDialogBtnClick = (event) => {
    $page.comp("dialog0").open();
}
  1. 给被打开的页面传参
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

results matching ""

    No results matching ""

    results matching ""

      No results matching ""