1、使用O2OA平台封装好对象o2.DL的open方法创建弹出层,传入options参数构建弹出框内容、按钮等元素
实现效果:
image.png
对象源代码位置:o2server\o2web\source\o2_core\o2\xDesktop\Dialog.js,
该对象继承至o2.widget.Dialog,源代码位置:o2server\o2web\source\o2_core\o2\widget\Dialog.js

实现代码如下:

var dialog = o2.DL.open({
  "style" : "o2",
  "title": "弹出框标题",
  "width": "400",
  "height" : "200",
  "isMax": false,
  "isClose": true,
  "isResize": true,
  "isMove": true,
  "isTitle": true,
  "offset": {"x":-200, "y": -100},
  "mask": true,
  "content": new Element("div"),
  "container": this.form.getApp().content,
  "duration": 200,
  "buttonList": [
    {
      "text": "确定",
      "action": function(){
          var result = {"key":"value"};
          if (callback) callback.apply(this, [result]);  
          dialog.close();
      }.bind(this)
    },
    {
      "text": "取消",
      "action": function(){
               dialog.close();
      }.bind(this)
    }
  ],
  "onQueryClose": function(){
        console.log("-onQueryClose-");
  }.bind(this),
  "onPostClose": function(){
        console.log("-onPostClose-");
  }.bind(this),
  "onQueryLoad":function(){
        console.log("-onQueryLoad-");
  },
  "onPostLoad": function(){
        console.log("-onPostLoad-");
        new Element("div",{text:"这是内容区域"}).inject(this.content);
     // ...code...
  },
  "onQueryShow": function(){
        console.log("-onQueryshow-");
  },
  "onPostShow": function(){ 
        console.log("-onPostShow-");
  }.bind(this)
})



2、主要参数说明
1)、style:弹出框使用的样式,默认是default,系统内置一些样式,比如:flat,o2,chartd等,对应样式文件位置路劲:o2server\o2web\source\o2_core\o2\widget$Dialog,用户也可以自己增加自定义样式风格,对应文件及结构参考已有样式风格。
2)、title:弹出框头部标题,在isTitle参数为true时有效。
3)、width:弹出框宽度。 默认值:300
4)、height:弹出框高度。 默认值:150
5)、isMax:标题栏是否有最大化按钮,相对应有还原按钮,默认值:false
6)、isClose:标题栏是否有关闭按钮。默认值:false
7)、isResize:弹出框大小是否可调整。默认值:true
8)、isMove:弹出框是否可移动。默认值:true
9)、isTitle:是否显示标题栏。默认值:true
10)、offset:弹出框相对默认x轴y轴位置
11)、mark:是否需要遮罩层。默认值:true
12)、content:弹出框层的容器。
13)、container:弹出框层dom对象需要插入页面html内元素的位置,默认插入到body中。
14)、duration:动画显示弹出框效果时间。默认值:200
15)、buttonList:定义底部按钮,比如“确认”,“关闭”按钮等,数组列表。text:按钮显示名称,action: 按钮对应的点击事件
16)、onQueryClose:关闭弹出框前事件
17)、onPostClose:关闭弹出框后事件
18)、onQueryLoad:弹出框载入前事件
19)、onPostLoad:弹出框载入后事件
20)、onQueryShow:弹出框显示前事件
21)、onPostShow:弹出框显示后事件

3、其他注意事项及说明
1)、调用弹出框对象后各事件执行先手顺序 onQueryLoad-->onPostLoad-->onQueryShow-->onPostShow
2)、弹出框传值问题,通过apply方法,在关闭弹出框后把值通过回调方法传到外部调用的对象中。
3)、除了以上列出的一些常用参数及方法外,可以查看widget\Dialog.js源代码文件中其他内置的参数及方法。 比如setContentSize(),设置居中,reCenter()重新设置居中位置等方法。
4)、可以自定义一个dialog类设置继承widget.dialog重写内置方法,满足特殊的业务要求

results matching ""

    No results matching ""