UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

34 lines (33 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePageScroll = usePageScroll; var _react = require("react"); var _taro = require("@tarojs/taro"); var _runtime = require("@tarojs/runtime"); function usePageScroll(scroller) { (0, _react.useEffect)(function () { var _Current$page, _Current$page$path; // 兼容react-ui 弄出来的代码 if (process.env.TARO_ENV !== 'h5') return; var id = _runtime.Current === null || _runtime.Current === void 0 ? void 0 : (_Current$page = _runtime.Current.page) === null || _Current$page === void 0 ? void 0 : (_Current$page$path = _Current$page.path) === null || _Current$page$path === void 0 ? void 0 : _Current$page$path.replace(/([^a-z0-9\u00a0-\uffff_-])/gi, '\\$1'); var el = id ? document.querySelector(".taro_page#".concat(id)) : document.querySelector('.taro_page') || document.querySelector('.taro_router') || document.scrollingElement; function listener(event) { if (!event.target) return; var _event = { scrollTop: el === null || el === void 0 ? void 0 : el.scrollTop, scrollLeft: el === null || el === void 0 ? void 0 : el.scrollLeft }; scroller(_event); } el.addEventListener('scroll', listener); return function () { el.removeEventListener('scroll', listener); }; }, [scroller]); (0, _taro.usePageScroll)(function (e) { if (process.env.TARO_ENV === 'h5') return; scroller(e); }); }