在列表页点击编辑的时候打开新页签
parent.layui.index.openTabsPage(url, '编辑');
编辑完后关闭当前页签并刷新列表页
parent.layui.index.refreshAndCloseTabs(refresh, close);
注意:refreshAndCloseTabs() 方法是自定义的,需要在 lib/index.js 中添加该方法
refreshAndCloseTabs = function (refreshUrl, closeUrl) {
//遍历页签选项卡
var matchTo,
mathCloseIndex,
mathCloseTo,
tabs = $('#LAY_app_tabsheader>li'),
path = refreshUrl.replace(/(^http(s*):)|(\?[\s\S]*$)/g, '');
tabs.each(function (index) {
var li = $(this), layid = li.attr('lay-id');
if (layid === refreshUrl) {
matchTo = true;
tabsPage.index = index;
}
if (layid == closeUrl) {
mathCloseTo = true;
mathCloseIndex = index;
}
});
if (mathCloseTo) {
$('#LAY_app_tabsheader>li').eq(mathCloseIndex).find('.layui-tab-close').trigger('click');
}
if (matchTo) {
//定位当前tabs
element.tabChange(FILTER_TAB_TBAS, refreshUrl);
admin.tabsBodyChange(tabsPage.index,
{
url: refreshUrl,
//text: text
});
var iframe = admin.tabsBody(admin.tabsPage.index).find('.layadmin-iframe');
iframe[0].contentWindow.location.href = refreshUrl;
} else {
console.log("调用openTabsPageRefresh没有匹配到url:", refreshUrl, "路径!");
}
}
在后面要记得加上
//对外输出
exports('index', {
openTabsPage: openTabsPage
, refreshAndCloseTabs: refreshAndCloseTabs
});