feat: 关闭tab时自动返回上一个页面

This commit is contained in:
augushong
2025-08-23 12:34:26 +08:00
parent 892fd2b712
commit 171c6cfca3

View File

@@ -21,6 +21,7 @@
miniTab.listen(options);
miniTab.listenRoll();
miniTab.listenSwitch(options);
miniTab.listenClose(options);
miniTab.listenHash(options);
},
@@ -203,7 +204,7 @@
}
}
}
return menu;
},
@@ -288,15 +289,13 @@
if (!checkTab) {
if (!title) {
title = ua.getMenuTitleByTabId(tabId, tabId)
title = ua.getMenuTitleByTabId(tabId, tabId);
}
console.log(prefixTitle);
if(prefixTitle == 1) {
if (prefixTitle == 1) {
let prefixTabTitle = ua.getMenuTitleByTabId(ua.getCurrentPageId());
console.log(prefixTabTitle);
if(prefixTabTitle){
if (prefixTabTitle) {
title = prefixTabTitle + '-' + title;
}
}
@@ -339,6 +338,7 @@
var closeType = $(this).attr('layuimini-tab-close');
$('.layuimini-tab .layui-tab-title li').each(function () {
var tabId = $(this).attr('lay-id');
var id = $(this).attr('id');
var isCurrent = $(this).hasClass('layui-this');
if (id !== 'layuiminiHomeTabId' && id !== 'layuiminiHomeTabIdMobile') {
@@ -411,6 +411,40 @@
});
},
/**
* 监听tab关闭
* @param options
*/
listenClose: function (options) {
element.on('tabDelete(' + options.filter + ')', function (data) {
var tabId = data.id;
// 如果tabId有backTagId
if (tabId && tabId.indexOf('backTagId=') !== -1) {
// 提取backTagId的值
var urlParams = new URLSearchParams(tabId.split('?')[1]);
var backTagId = urlParams.get('backTagId');
if (backTagId) {
// 切换到backTagId对应的tab
var checkTab = miniTab.check(backTagId, true);
if (!checkTab) {
title = ua.getMenuTitleByTabId(backTagId, backTagId);
miniTab.create({
tabId: backTagId,
href: backTagId,
title: title,
isIframe: true,
maxTabNum: options.maxTabNum,
});
}
element.tabChange('layuiminiTab', backTagId);
}
}
});
},
/**
* 监听tab切换
* @param options