* feat: enable the left or right keyboard to switch image * fix: eslint errorpull/5649/head
							parent
							
								
									dead1a3753
								
							
						
					
					
						commit
						c7e079bd65
					
				|  | @ -15,6 +15,7 @@ import Dialog from '../../vc-dialog'; | |||
| import { type IDialogChildProps, dialogPropTypes } from '../../vc-dialog/IDialogPropTypes'; | ||||
| import { getOffset } from '../../vc-util/Dom/css'; | ||||
| import addEventListener from '../../vc-util/Dom/addEventListener'; | ||||
| import KeyCode from '../../_util/KeyCode'; | ||||
| import { warning } from '../../vc-util/warning'; | ||||
| import useFrameSetState from './hooks/useFrameSetState'; | ||||
| import getFixScaleEleTransPosition from './getFixScaleEleTransPosition'; | ||||
|  | @ -221,6 +222,32 @@ const Preview = defineComponent({ | |||
|       lastWheelZoomDirection.value = { wheelDirection }; | ||||
|     }; | ||||
| 
 | ||||
|     const onKeyDown = (event: KeyboardEvent) => { | ||||
|       if (!props.visible || !showLeftOrRightSwitches.value) return; | ||||
| 
 | ||||
|       event.preventDefault(); | ||||
|       if (event.keyCode === KeyCode.LEFT) { | ||||
|         if (currentPreviewIndex.value > 0) { | ||||
|           setCurrent(previewUrlsKeys.value[currentPreviewIndex.value - 1]); | ||||
|         } | ||||
|       } else if (event.keyCode === KeyCode.RIGHT) { | ||||
|         if (currentPreviewIndex.value < previewGroupCount.value - 1) { | ||||
|           setCurrent(previewUrlsKeys.value[currentPreviewIndex.value + 1]); | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
| 
 | ||||
|     const onDoubleClick = () => { | ||||
|       if (props.visible) { | ||||
|         if (scale.value !== 1) { | ||||
|           scale.value = 1; | ||||
|         } | ||||
|         if (position.x !== initialPosition.x || position.y !== initialPosition.y) { | ||||
|           setPosition(initialPosition); | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
| 
 | ||||
|     let removeListeners = () => {}; | ||||
|     onMounted(() => { | ||||
|       watch( | ||||
|  | @ -235,6 +262,7 @@ const Preview = defineComponent({ | |||
|           const onScrollWheelListener = addEventListener(window, 'wheel', onWheelMove, { | ||||
|             passive: false, | ||||
|           }); | ||||
|           const onKeyDownListener = addEventListener(window, 'keydown', onKeyDown, false); | ||||
| 
 | ||||
|           try { | ||||
|             // Resolve if in iframe lost event | ||||
|  | @ -257,6 +285,7 @@ const Preview = defineComponent({ | |||
|             onMouseUpListener.remove(); | ||||
|             onMouseMoveListener.remove(); | ||||
|             onScrollWheelListener.remove(); | ||||
|             onKeyDownListener.remove(); | ||||
| 
 | ||||
|             /* istanbul ignore next */ | ||||
|             if (onTopMouseUpListener) onTopMouseUpListener.remove(); | ||||
|  | @ -310,6 +339,7 @@ const Preview = defineComponent({ | |||
|           > | ||||
|             <img | ||||
|               onMousedown={onMouseDown} | ||||
|               onDblclick={onDoubleClick} | ||||
|               ref={imgRef} | ||||
|               class={`${props.prefixCls}-img`} | ||||
|               src={combinationSrc.value} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 bqy_fe
						bqy_fe