O2OA开发平台:(前端)在O2OA中使用系统o2.DL构建弹出框

Stella981
• 阅读 635

1、使用O2OA平台封装好对象o2.DL的open方法创建弹出层,传入options参数构建弹出框内容、按钮等元素

实现效果:

O2OA开发平台:(前端)在O2OA中使用系统o2.DL构建弹出框

对象源代码位置: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重写内置方法,满足特殊的业务要求

点赞
收藏
评论区
推荐文章
Karen110 Karen110
3年前
一篇文章带你了解JavaScript弹出框
在JavaScript中,可以创建对话框或弹出窗口来与用户进行交互。JavaScript具有三种不同类型的弹出框:警告框,确认框和提示框。一、警告框警告框是最简单的弹出框。它使可以向用户显示一条短消息。还包括“确定”按钮,用户必须单击此“确定”按钮才能继续。window.alert()语法:window.alert("msg")方法可以在没有窗口的前缀被写
马丁路德 马丁路德
3年前
小程序 - 拦截返回操作
方法名称:wx.enableAlertBeforeUnload实现功能:拦截页面返回,返回上页前弹出询问对话框文档链接&图片:文档说明代码示例onLoad:function(){wx.enableAlertBeforeUnload({message:"返回上页时弹出对话框1212"
陈占占 陈占占
2年前
PHP 利用confirm删除指定数据库的数据
完整的效果图方法一a标签href中的是你要删除记录html<ahref"PHPtest.php?name1"onclick"returnconfirm('是否要移除该小说?')"方法二下面这个方法是js代码,点击获取id,弹出提示框,确定是否删除,confirm好像可以返回true或者falsejavascriptfunctiond
Wesley13 Wesley13
3年前
vant Popup弹框使用总结
1、基础用法通过vmodel控制弹出层是否展示<vancellislink@click"showPopup"展示弹出层</vancell<vanpopupvmodel"show"内容</vanpopupexportdefault{data(){
Stella981 Stella981
3年前
JS中popup.js
//popupclass显示弹出窗口,。/\以下为使用popup对象,传入相应的配置参数,弹出不同类型的窗口        functionShowIframe()//显示iframe        {            varpopnewPopup({contentType:1,isReloadOnClo
Stella981 Stella981
3年前
Django (二)使用 JQuery、Ajax
一、作业内容1、班级表的操作,包括增加、编辑、删除。要求(1)增加、编辑,弹出对话框;(2)这些操作用JQuery、Ajax实现。2、学生表的操作,包括增加、编辑、删除。要求(1)增加、编辑,弹出对话框;(2)这些操作用Jquery、Ajax实现。3、教师表的操作,包括增加、编辑、删除。要求(1)增加、编辑,弹出对话框;(2)这些操作用Jq
Wesley13 Wesley13
3年前
JS弹出对话框的三种方式
JS弹出对话框的三种方式我们用到了alert()方法、prompt()方法、prompt()方法,都是在网页有一个弹出框,那么就让我们探究一下他们之间的区别:一、第一种:alert()方法<html<head<title编写html页面</title
Wesley13 Wesley13
3年前
DOM元素的自动隐藏
在一些有悬浮元素的场景中,比如点击一个按钮弹出菜单后,点击菜单以外的地方,菜单应该被隐藏起来。隐藏的方式最好是自动隐藏,或至少是组件内的自动隐藏。蒙层比如,一个模态框组件(闭包实现)点击蒙层时,响应蒙层的点击事件,可以在事件处理函数中隐藏整个组件。在Vue和React等框架的组件中,这一点非常容易实现。<divclass"com
taskbuilder taskbuilder
3天前
创建学员信息列表页面
4、创建学员信息列表页面在TaskBuilder的项目资源管理器内,点击学员管理项目节点(xygl)里的“前端文件”子节点右侧的加号:会弹出如下所示的前端资源创建向导的对话框:在该对话框中选择“数据查询TFP”,资源名称会自动设置为:index(这里建议不
taskbuilder taskbuilder
20小时前
创建学员信息添加页面
在TaskBuilder的项目资源管理器内,点击学员管理项目节点(xygl)里的“前端文件”子节点右侧的加号:会弹出如下所示的“添加前端资源”的对话框:在“资源名称”输入框内输入:add,然后在下面的资源类型列表里点击“数据添加TFP”按钮,然后点击“下一