layui 关闭当前tab页面,打开指定新tab页面方法
layui 关闭当前tab页面,打开指定新tab页面方法 如何页面已打开着,就执行刷新
/**
* 打开指定名字的菜单
* @param {*} name 菜单名称
* @param {*} flag 刷新标志位 list-刷新列表页,other-不刷新
* 子页面调用可以 top.Util.openMenuByName('活动管理')
*/
static openMenuByName(name,flag='list') {
// $('.layui-tab-title').find('li[class="layui-this"]').text();
let isOpened = false;
$('.layui-tab-title li').each(function () {
const title = $(this).text().trim();
const layid = $(this).attr('lay-id');
console.log('title:', title, 'name:', name, 'layid:', layid, 'flag:', flag);
if (title.indexOf(name) !== -1) {
isOpened = true;
//刷新页面数据 - 点击当前页面 $('div[lay-event="refresh"]').click();
console.log('flag:', flag);
if (flag == 'list') {
$(`iframe[data-frameid="${layid}"]`).contents().find('div[lay-event="refresh"]').click();
}
setTimeout(() => {
$(this).click();
}, 100);
// console.log('isOpened1:', isOpened);
return false; //跳出循环
}
});
// console.log('isOpened2:', isOpened);
const currMenu = $(`a[menu-title="${name}"]`);
if (currMenu.length && !isOpened) {
currMenu.click();
}
}
// 关闭当前页面
static closeCurrentTab() {
const tab = top.layui.tab;
if (tab) {
tab.delCurrentTabByElem('content', () => { });
}
}