fix(view):修复连续模式下无法跳转的错误。
This commit is contained in:
parent
79ab277266
commit
c0ea97fb52
|
@ -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));
|
||||||
|
console.log('[debug]navigate: ', filename, index);
|
||||||
virtualListRef.current?.scrollToItem(index);
|
virtualListRef.current?.scrollToItem(index);
|
||||||
});
|
});
|
||||||
ebus?.addListener('reset_views', () => {
|
ebus?.addListener('reset_views', () => {
|
||||||
virtualListRef.current?.scrollTo(0);
|
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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user