当前位置: 首页 > wzjs >正文

网站推广企业高县住房和城乡建设部网站

网站推广企业,高县住房和城乡建设部网站,网站后台培训学校,phpcms v9怎么做网站前言 本文基于Api13 openCustomDialog弥补了CustomDialogController在使用上存在的诸多限制,实现了可以在任意位置上弹出,可以说是非常的方便;但是,在使用的时候遇到了一些小阻碍,比如一个页面中可能存在多个弹窗&…

前言

本文基于Api13

openCustomDialog弥补了CustomDialogController在使用上存在的诸多限制,实现了可以在任意位置上弹出,可以说是非常的方便;但是,在使用的时候遇到了一些小阻碍,比如一个页面中可能存在多个弹窗,而这些弹窗的隐藏顺序是不确定的,如何可以根据一定的条件,隐藏其中对应的弹窗呢,也就是,如何隐藏指定的弹窗,而不是最上层的弹窗。

目前呢,有两种实现方式,一种是通过存储ComponentContent来实现,另一种就是通过存储dialogId来实现,那么我们本篇文章,就针对这两种实现方式一一进行举例说明。

存储ComponentContent实现关闭指定Dialog

我们知道在openCustomDialog的时候,会接收一个ComponentContent,在关闭弹窗的时候也会使用到这个ComponentContent,所以,我们就可以对ComponentContent做一个简单的存储,这里的存储,不建议持久化存储,毕竟一般都是在一个页面中进行的,即便不在同一个页面上,我们也可以使用全局的变量存储,如何找到存储的ComponentContent呢?,这里推荐使用HashMap,键值对这种形式存储,可以很方便的使用key找到对应的value。

弹出Dialog

在弹窗弹出之后,使用map集合进行存储,在弹出Dialog的时候,需要传一个标识,也就是这个Dialog对应的key。

 private showDialog(key: string) {let uiContext = this.getUIContext()let promptAction = uiContext.getPromptAction()let contentNode = new ComponentContent(uiContext, wrapBuilder(TextDialog))promptAction.openCustomDialog(contentNode).then(() => {//临时存储this.mCustomDialogMap.set(key, contentNode)})}

隐藏Dialog

隐藏的时候,直接传递对应的key即可,记得,隐藏之后移除map中的元素。

private hideDialog(key: string) {if (this.mCustomDialogMap.hasKey(key)) {let uiContext = this.getUIContext()let promptAction = uiContext.getPromptAction()let contentNode = this.mCustomDialogMap.get(key)promptAction.closeCustomDialog(contentNode).then(() => {//隐藏之后删除this.mCustomDialogMap.remove(key)})}}

存储dialogId实现关闭指定Dialog

存储dialogId和存储ComponentContent逻辑上基本上是一致的,但是显示出UI的方式需要切换下,由于dialogId的获取,必须通过builder的方式,所以这里,传递ComponentContent改为内部定义的@Builder,如果想要使用全局的UI组件,可以在定义的Builder里进行。

弹出Dialog

private showDialog(key: string) {let uiContext = this.getUIContext()let promptAction = uiContext.getPromptAction()promptAction.openCustomDialog({builder: () => {this.TextDialog(message)}}).then((dialogId: number) => {this.mCustomDialogMap.set(key, dialogId)})}

隐藏Dialog

private hideDialog(key: string) {if (this.mCustomDialogMap.hasKey(key)) {let uiContext = this.getUIContext()let promptAction = uiContext.getPromptAction()let dialogId = this.mCustomDialogMap.get(key)promptAction.closeCustomDialog(dialogId)//隐藏之后删除this.mCustomDialogMap.remove(key)}}

相关总结

以上呢就是两种隐藏指定的Dialog方式,比较的简单,具体的场景,常见于,页面多个弹出Dialog,但是需要隐藏指定的Dialog场景,当然了,也适用于常见的普通场景。


文章转载自:

http://xdUpvTR0.pchph.cn
http://DEf7LzBq.pchph.cn
http://FHEYIhJC.pchph.cn
http://nkSC2WJ8.pchph.cn
http://9DUmASHf.pchph.cn
http://uHXgIcms.pchph.cn
http://PZqFUs3U.pchph.cn
http://F96K3Ohh.pchph.cn
http://sl6TpdqB.pchph.cn
http://1yYigkJB.pchph.cn
http://zqrHA5cm.pchph.cn
http://lmCiOY5H.pchph.cn
http://EMgog2A6.pchph.cn
http://6bGb6Zla.pchph.cn
http://7qv8piqt.pchph.cn
http://FxjW1gSp.pchph.cn
http://96n8g19Y.pchph.cn
http://Gf9oWacb.pchph.cn
http://lvcMqemN.pchph.cn
http://yc0r6zDi.pchph.cn
http://2IPcrFum.pchph.cn
http://o5uL3xuv.pchph.cn
http://akliL9tt.pchph.cn
http://clvjqiIE.pchph.cn
http://DevOXLwp.pchph.cn
http://KOBTaJq2.pchph.cn
http://gHGeFeGR.pchph.cn
http://q4nHPYQ4.pchph.cn
http://oAI2dSup.pchph.cn
http://bXAUSPNI.pchph.cn
http://www.dtcms.com/wzjs/718342.html

相关文章:

  • 网站建设实训报告心得做c 题的网站
  • 做网站经常加班还是app网页制作模板设计
  • 做电商网站的框架结构图网站开发后端是什么
  • 用帝国cms系统怎么做网站东坑网页设计
  • 使用网站南京企业网站开发费用申请
  • 有空间怎么做网站吸引顾客的营销策略
  • 国外源码下载网站wordpress俄语版
  • 景区官方网站建设方案宣传片拍摄方案策划书
  • 提供网站建设哪家效果好乐清公司网站建设
  • dede网站 设置404 错误页面桂园精品网站建设费用
  • 河北网站建设与管理专业精准网络营销推广
  • 湖北网站建设贴吧传奇新服网
  • 对于职业规划做的好的网站无锡做网站公司多少钱
  • 本地网站做通用会员卡广州开发app哪家公司好
  • 西安网站建设软件公司起名打分最准的免费网站
  • 承德网站开发公司怎么制做网站
  • 网站写好了怎么做后台管理住房和城乡建设部网站公告
  • 被网上教开网店的骗了怎么办烟台网站排名优化公司
  • 钓鱼网站怎么制作视频html代码自动生成器
  • 最好的网站开发wordpress now
  • 免费跨境电商网站百度推广必须做手机网站吗
  • 优客工场 网站开发新旧网站对比
  • 宁波网站优化公司微信显示wordpress文章
  • 东莞网站建设地点优化河南生产型企业网站建设
  • 酒店用品网站源码深圳电商网站建设公司
  • 做外贸应该去什么网站wordpress vtrois
  • 廊坊网站开发公司怎样做网站推广
  • 网站标题栏怎么做vr软件开发需要学什么
  • 网站建设要多少钱品牌wordpress 登录流程
  • 做问答营销的网站有哪些国产 wordpress 框架