@@ -5,6 +5,7 @@ import LoadingIcon from '../LoadingIcon'
55import ErrorIcon from '../ErrorIcon'
66import Image from '../Image'
77import { createObserver } from '../Image/observer'
8+ import { setScrollbar , resetScrollbar } from '../../utils'
89// import Store from './imgViewStore'
910function find ( list , arg ) {
1011 return list . findIndex ( each => each === arg )
@@ -103,6 +104,20 @@ export default class ImgPpreview extends React.PureComponent {
103104 }
104105 }
105106
107+ addEffect ( ) {
108+ setScrollbar ( )
109+ window . addEventListener ( 'keyup' , this . windowKeyUpHandle )
110+ document . body . addEventListener ( 'click' , this . hideHandle )
111+ document . body . style . overflow = 'hidden'
112+ }
113+
114+ removeEffect ( ) {
115+ resetScrollbar ( )
116+ window . removeEventListener ( 'keyup' , this . windowKeyUpHandle )
117+ document . body . removeEventListener ( 'click' , this . hideHandle )
118+ document . body . style . overflow = ''
119+ }
120+
106121 /**
107122 * 打开图片浏览器
108123 * 绑定keyup与click事件监听关闭
@@ -112,10 +127,7 @@ export default class ImgPpreview extends React.PureComponent {
112127 this . setState ( {
113128 open : true
114129 } )
115- const { body } = document
116- window . addEventListener ( 'keyup' , this . windowKeyUpHandle )
117- body . style . overflow = 'hidden'
118- body . addEventListener ( 'click' , this . hideHandle )
130+ this . addEffect ( )
119131 }
120132
121133 /**
@@ -126,10 +138,7 @@ export default class ImgPpreview extends React.PureComponent {
126138 this . setState ( {
127139 open : false
128140 } )
129- const { body } = document
130- window . removeEventListener ( 'keyup' , this . windowKeyUpHandle )
131- body . style . overflow = ''
132- body . removeEventListener ( 'click' , this . hideHandle )
141+ this . removeEffect ( )
133142 }
134143
135144 change = current => {
@@ -402,8 +411,8 @@ export default class ImgPpreview extends React.PureComponent {
402411
403412 _renderFooter ( ) {
404413 const {
405- state, prev, next, rotateFnc
406- } = this
414+ state, prev, next, rotateFnc
415+ } = this
407416 const { images, current } = state
408417 return (
409418 < >
0 commit comments