Commit fa649990 authored by 好多大米's avatar 好多大米 Committed by GitHub

Image: fix z-index and keydown event add stopPropagation (#20859)

parent 06ddc105
<template> <template>
<transition name="viewer-fade"> <transition name="viewer-fade">
<div tabindex="-1" ref="el-image-viewer__wrapper" class="el-image-viewer__wrapper" :style="{ 'z-index': zIndex }"> <div tabindex="-1" ref="el-image-viewer__wrapper" class="el-image-viewer__wrapper" :style="{ 'z-index': viewerZIndex }">
<div class="el-image-viewer__mask" @click.self="handleMaskClick"></div> <div class="el-image-viewer__mask" @click.self="handleMaskClick"></div>
<!-- CLOSE --> <!-- CLOSE -->
<span class="el-image-viewer__btn el-image-viewer__close" @click="hide"> <span class="el-image-viewer__btn el-image-viewer__close" @click="hide">
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
<script> <script>
import { on, off } from 'element-ui/src/utils/dom'; import { on, off } from 'element-ui/src/utils/dom';
import { rafThrottle, isFirefox } from 'element-ui/src/utils/util'; import { rafThrottle, isFirefox } from 'element-ui/src/utils/util';
import { PopupManager } from 'element-ui/src/utils/popup';
const Mode = { const Mode = {
CONTAIN: { CONTAIN: {
...@@ -143,6 +144,10 @@ export default { ...@@ -143,6 +144,10 @@ export default {
style.maxWidth = style.maxHeight = '100%'; style.maxWidth = style.maxHeight = '100%';
} }
return style; return style;
},
viewerZIndex() {
const nextZIndex = PopupManager.nextZIndex();
return this.zIndex > nextZIndex ? this.zIndex : nextZIndex;
} }
}, },
watch: { watch: {
...@@ -167,7 +172,8 @@ export default { ...@@ -167,7 +172,8 @@ export default {
this.onClose(); this.onClose();
}, },
deviceSupportInstall() { deviceSupportInstall() {
this._keyDownHandler = rafThrottle(e => { this._keyDownHandler = e => {
e.stopPropagation();
const keyCode = e.keyCode; const keyCode = e.keyCode;
switch (keyCode) { switch (keyCode) {
// ESC // ESC
...@@ -195,7 +201,7 @@ export default { ...@@ -195,7 +201,7 @@ export default {
this.handleActions('zoomOut'); this.handleActions('zoomOut');
break; break;
} }
}); };
this._mouseWheelHandler = rafThrottle(e => { this._mouseWheelHandler = rafThrottle(e => {
const delta = e.wheelDelta ? e.wheelDelta : -e.detail; const delta = e.wheelDelta ? e.wheelDelta : -e.detail;
if (delta > 0) { if (delta > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment