vuestic-ui
Version:
Vue 3 UI Framework
38 lines (37 loc) • 861 B
JavaScript
import { onMounted, onBeforeUnmount } from "vue";
const useScroll = (props, element, handler) => {
const addScrollListener = () => {
var _a;
(_a = element.value) == null ? void 0 : _a.addEventListener(
"scroll",
handler.value,
{ passive: true }
);
};
const removeScrollListener = () => {
var _a;
(_a = element.value) == null ? void 0 : _a.removeEventListener(
"scroll",
handler.value
);
};
onMounted(() => {
if (!element.value) {
return;
}
element.value.style.overflowY = "scroll";
if (props.reverse) {
element.value.scrollTop = element.value.scrollHeight;
}
addScrollListener();
});
onBeforeUnmount(removeScrollListener);
return {
addScrollListener,
removeScrollListener
};
};
export {
useScroll as u
};
//# sourceMappingURL=useScroll.js.map