前端分页,后端标签关闭修复

This commit is contained in:
2025-05-08 15:53:42 +08:00
parent 3eea6db29d
commit 868c81b595
2 changed files with 63 additions and 21 deletions
@@ -402,15 +402,32 @@ layui.define(['jquery', 'element'], function(exports) {
if (!removeTab.hasClass("layui-this")) {
removeTab.remove();
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']")
.parent();
.parent();
tabContent.remove();
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
tabData = tabData.filter(function(item) {
return item.id != id;
})
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
// 添加数据验证
var storedData = sessionStorage.getItem(elem + "-pear-tab-data");
if (!storedData) {
console.warn('Tab data not found in sessionStorage');
return false;
}
try {
tabData = JSON.parse(storedData);
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
if (Array.isArray(tabData)) {
tabData = tabData.filter(function(item) {
return item.id != id;
});
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
} else {
console.warn('Tab data is not an array');
return false;
}
} catch (e) {
console.error('Error parsing tab data:', e);
return false;
}
return false;
}
@@ -425,14 +442,35 @@ layui.define(['jquery', 'element'], function(exports) {
currId = prevNode.attr("lay-id");
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
}
callback(currId);
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
tabData = tabData.filter(function(item) {
return item.id != id;
})
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
sessionStorage.setItem(elem + "-pear-tab-data-current", currId);
if (typeof callback === 'function') {
callback(currId);
}
// 添加数据验证
var storedData = sessionStorage.getItem(elem + "-pear-tab-data");
if (!storedData) {
console.warn('Tab data not found in sessionStorage');
return false;
}
try {
tabData = JSON.parse(storedData);
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
if (Array.isArray(tabData)) {
tabData = tabData.filter(function(item) {
return item.id != id;
});
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
sessionStorage.setItem(elem + "-pear-tab-data-current", currId);
} else {
console.warn('Tab data is not an array');
return false;
}
} catch (e) {
console.error('Error parsing tab data:', e);
return false;
}
removeTab.remove();
// 删除 content