@@ -67,7 +67,7 @@ const Group: React.FC<GroupConsumerProps> = ({
6767 } = typeof preview === 'object' ? preview : ( { } as PreviewGroupPreview ) ;
6868
6969 // ========================== Items ===========================
70- const [ mergedItems , register ] = usePreviewItems ( items ) ;
70+ const [ mergedItems , register , fromItems ] = usePreviewItems ( items ) ;
7171
7272 // ========================= Preview ==========================
7373 // >>> Index
@@ -91,15 +91,19 @@ const Group: React.FC<GroupConsumerProps> = ({
9191 const [ mousePosition , setMousePosition ] = useState < null | { x : number ; y : number } > ( null ) ;
9292
9393 const onPreviewFromImage = React . useCallback < OnGroupPreview > (
94- ( id , mouseX , mouseY ) => {
95- const index = mergedItems . findIndex ( item => item . id === id ) ;
94+ ( id , imageSrc , mouseX , mouseY ) => {
95+ const index = fromItems
96+ ? mergedItems . findIndex ( item => item . data . src === imageSrc )
97+ : mergedItems . findIndex ( item => item . id === id ) ;
98+
99+ setCurrent ( index < 0 ? 0 : index ) ;
96100
97101 setShowPreview ( true ) ;
98102 setMousePosition ( { x : mouseX , y : mouseY } ) ;
99- setCurrent ( index < 0 ? 0 : index ) ;
103+
100104 setKeepOpenIndex ( true ) ;
101105 } ,
102- [ mergedItems ] ,
106+ [ mergedItems , fromItems ] ,
103107 ) ;
104108
105109 // Reset current when reopen
0 commit comments