|
|
|
@ -35,6 +35,16 @@ const getZIndex = computed(() => { |
|
|
|
return props.zIndex || calcZIndex(); |
|
|
|
}); |
|
|
|
|
|
|
|
/** |
|
|
|
* 排除ant-message和loading:9999的z-index |
|
|
|
*/ |
|
|
|
const zIndexExcludeClass = ['ant-message', 'loading']; |
|
|
|
function isZIndexExcludeClass(element: Element) { |
|
|
|
return zIndexExcludeClass.some((className) => |
|
|
|
element.classList.contains(className), |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取最大的zIndex值 |
|
|
|
*/ |
|
|
|
@ -44,7 +54,11 @@ function calcZIndex() { |
|
|
|
[...elements].forEach((element) => { |
|
|
|
const style = window.getComputedStyle(element); |
|
|
|
const zIndex = style.getPropertyValue('z-index'); |
|
|
|
if (zIndex && !Number.isNaN(Number.parseInt(zIndex))) { |
|
|
|
if ( |
|
|
|
zIndex && |
|
|
|
!Number.isNaN(Number.parseInt(zIndex)) && |
|
|
|
!isZIndexExcludeClass(element) |
|
|
|
) { |
|
|
|
maxZ = Math.max(maxZ, Number.parseInt(zIndex)); |
|
|
|
} |
|
|
|
}); |
|
|
|
|