mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-26 08:19:15 +08:00
26 lines
458 B
TypeScript
26 lines
458 B
TypeScript
let count = 0;
|
|
|
|
const CLASSNAME = 'van-overflow-hidden';
|
|
|
|
export function useLockScroll(shouldLock: () => boolean) {
|
|
const lock = () => {
|
|
if (shouldLock()) {
|
|
if (!count) {
|
|
document.body.classList.add(CLASSNAME);
|
|
}
|
|
count++;
|
|
}
|
|
};
|
|
|
|
const unlock = () => {
|
|
if (shouldLock() && count) {
|
|
count--;
|
|
if (!count) {
|
|
document.body.classList.remove(CLASSNAME);
|
|
}
|
|
}
|
|
};
|
|
|
|
return [lock, unlock];
|
|
}
|