enhance(view):加入视图切换功能。
This commit is contained in:
parent
8b5b714d70
commit
6e5c9c5c5f
|
@ -18,7 +18,7 @@ import { FC, useRef } from 'react';
|
||||||
import { useZoomState } from '../states/zoom';
|
import { useZoomState } from '../states/zoom';
|
||||||
|
|
||||||
export const PicToolbar: FC = () => {
|
export const PicToolbar: FC = () => {
|
||||||
const { lock, autoFit, currentZoom, viewMode, zoom } = useZoomState();
|
const { lock, autoFit, currentZoom, viewMode, zoom, switchViewMode } = useZoomState();
|
||||||
const zoomHandlers = useRef<NumberInputHandlers>();
|
const zoomHandlers = useRef<NumberInputHandlers>();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -67,6 +67,7 @@ export const PicToolbar: FC = () => {
|
||||||
<SegmentedControl
|
<SegmentedControl
|
||||||
size="xs"
|
size="xs"
|
||||||
value={viewMode}
|
value={viewMode}
|
||||||
|
onChange={value => switchViewMode(value)}
|
||||||
color="grape"
|
color="grape"
|
||||||
data={[
|
data={[
|
||||||
{ label: '单页', value: 'single' },
|
{ label: '单页', value: 'single' },
|
||||||
|
|
|
@ -12,6 +12,7 @@ interface ZoomState {
|
||||||
type ZoomActions = {
|
type ZoomActions = {
|
||||||
zoom: SyncObjectCallback<number>;
|
zoom: SyncObjectCallback<number>;
|
||||||
updateViewHeight: SyncObjectCallback<number>;
|
updateViewHeight: SyncObjectCallback<number>;
|
||||||
|
switchViewMode: SyncObjectCallback<'single' | 'double' | 'continuation'>;
|
||||||
};
|
};
|
||||||
|
|
||||||
const initialState: ZoomState = {
|
const initialState: ZoomState = {
|
||||||
|
@ -33,5 +34,10 @@ export const useZoomState = createStoreHook<ZoomState & ZoomActions>(set => ({
|
||||||
set(df => {
|
set(df => {
|
||||||
df.viewHeight = height;
|
df.viewHeight = height;
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
switchViewMode(mode) {
|
||||||
|
set(df => {
|
||||||
|
df.viewMode = mode;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user