20 lines
569 B
TypeScript
20 lines
569 B
TypeScript
import { create } from "zustand"
|
|
|
|
interface KeyboardStore {
|
|
ctrl: boolean
|
|
setCtrl: (v: boolean) => void
|
|
shift: boolean
|
|
setShift: (v: boolean) => void
|
|
copyDataIds: number[] // ctrl + c 复制数据
|
|
setCopyDataIds: (ids: number[]) => void
|
|
}
|
|
|
|
export const useKeyboardStore = create<KeyboardStore>((set) => ({
|
|
ctrl: false,
|
|
shift: false,
|
|
copyDataIds: [],
|
|
setCtrl: (v) => set((state) => ({ ...state, ctrl: v })),
|
|
setShift: (v) => set((state) => ({ ...state, shift: v })),
|
|
setCopyDataIds: (ids) => set((state) => ({ ...state, copyDataIds: ids })),
|
|
}))
|