Skip to content

Commit 173a08d

Browse files
authored
fix(OverlayTrigger): 修复嵌套弹出导致元素层级异常 (#960)
* fix: 修复table展示问题 * fix: 修复table宽度 * fix(DatePicker): 修复日历年份选择异常 * chore(deps): update dependency lerna to v6.0.0 * fix(OverlayTrigger): 修复嵌套弹出导致元素层级异常 * remove other class
1 parent b13cb92 commit 173a08d

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

packages/react-overlay-trigger/src/index.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,13 +251,22 @@ export default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props,
251251

252252
function hide() {
253253
if (!isOpen) return;
254-
zIndex.current -= 1;
254+
if (zIndex.current <= 999) {
255+
zIndex.current = 999;
256+
} else {
257+
zIndex.current -= 1;
258+
}
255259
setIsOpen(false);
256260
}
257261

258262
function show() {
259263
if (isOpen) return;
260-
zIndex.current += 1;
264+
const nodeIndex = triggerRef.current?.style.zIndex;
265+
if (nodeIndex) {
266+
zIndex.current = Number(nodeIndex) + 1;
267+
} else {
268+
zIndex.current += 1;
269+
}
261270
setIsOpen(true);
262271
}
263272

@@ -305,6 +314,7 @@ export default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props,
305314
Object.assign({}, child.props, {
306315
...triggerProps,
307316
ref: triggerRef,
317+
style: { zIndex: zIndex.current },
308318
className: [child.props.className, disabled ? `${prefixCls}-disabled` : null]
309319
.filter(Boolean)
310320
.join(' ')

website/src/layouts/index.module.less

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
}
2323

2424
.layoutWrap {
25+
position: relative;
26+
z-index: 1;
2527
background-color: #fff;
2628
min-height: calc(100vh - 53px);
2729
}

0 commit comments

Comments
 (0)