最近在开发公司项目的时候发现,点击按钮弹个窗,在弹窗页面里面还要弹窗,弹三次,最后一个弹窗小得可怜。于是,进行了优化处理,新增了一个方法,点击按钮新增一个tab的菜单选项卡来展示原本需要弹窗展示的html。
实现这个效果有两种方式
class属性新增openTabMenu,data-id属性是菜单ID,用于菜单自动跳转,data-url属性是需要展示的静态文件url,一般是一个html相对路径的url,data-title是tab菜单的名称,具体实现源码的位置是public\static\component\laytp\module\laytp.js
的openTabMenu方法
/*** 点击按钮打开新的tab menu* 所有拥有openTabMenu类名的节点,点击后都会打开新的tab menu* data-id 菜单ID,用于菜单自动选中* data-url 必填,需要展示的静态文件url* data-title tab菜单的名称*/openTabMenu: function(){$(document).off("click", ".openTabMenu").on("click", ".openTabMenu", function () {if (parent.config.tab.muiltTab) {parent.bodyTab.addTabOnly({id: $(this).data("id"),title: $(this).data("title"),url: $(this).data("url"),icon: "",close: true}, 300);} else {parent.bodyFrame.changePage($(this).data("url"), "", true);}});},
调用方式:
<button class="openTabMenu"data-id="菜单ID"data-url="需要展示的静态文件url"data-title="菜单名称"></button>
public\static\component\laytp\module\facade.js公用函数库新增了openTabMenu方法
调用方式:
facade.openTabMenu({id: "菜单ID",url: "需要展示的静态文件url",title: "tab菜单的名称"});
菜单ID参数很重要,要保证全局唯一,允许使用英文+数字,不能使用中文