fix(view):修复连续模式下无法跳转的错误。

This commit is contained in:
徐涛 2023-03-09 15:10:39 +08:00
parent 79ab277266
commit c0ea97fb52

View File

@ -1,8 +1,7 @@
//@ts-nocheck //@ts-nocheck
import EventEmitter from 'events'; import EventEmitter from 'events';
import { indexOf, isEmpty, length, map, mergeLeft, pluck, range } from 'ramda'; import { indexOf, isEmpty, length, map, mergeLeft, pluck, range } from 'ramda';
import { FC, useCallback, useContext, useMemo, useRef } from 'react'; import { FC, useCallback, useContext, useEffect, useMemo, useRef } from 'react';
import { useLifecycles } from 'react-use';
import { VariableSizeList } from 'react-window'; import { VariableSizeList } from 'react-window';
import { EventBusContext } from '../EventBus'; import { EventBusContext } from '../EventBus';
import { useFileListStore } from '../states/files'; import { useFileListStore } from '../states/files';
@ -23,21 +22,21 @@ export const ContinuationView: FC = () => {
[files] [files]
); );
useLifecycles( useEffect(() => {
() => { ebus?.addListener('navigate_offset', ({ filename }) => {
ebus?.addListener('navigate_offset', ({ filename }) => { let index = indexOf(filename, pluck('filename', files));
let index = indexOf(filename, pluck('filename', files)); console.log('[debug]filenames', pluck('filename', files));
virtualListRef.current?.scrollToItem(index); console.log('[debug]navigate: ', filename, index);
}); virtualListRef.current?.scrollToItem(index);
ebus?.addListener('reset_views', () => { });
virtualListRef.current?.scrollTo(0); ebus?.addListener('reset_views', () => {
}); virtualListRef.current?.scrollTo(0);
}, });
() => { return () => {
ebus?.removeAllListeners('navigate_offset'); ebus?.removeAllListeners('navigate_offset');
ebus?.removeAllListeners('reset_views'); ebus?.removeAllListeners('reset_views');
} };
); }, [files]);
return ( return (
<div <div