UNPKG

@antmjs/vantui

Version:

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

59 lines (58 loc) 1.84 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = ScrollViewTimeout; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _components = require("@tarojs/components"); var _taro = require("@tarojs/taro"); var _jsxRuntime = require("react/jsx-runtime"); function ScrollViewTimeout(props) { var _useState = (0, _react.useState)(''), _useState2 = (0, _slicedToArray2.default)(_useState, 2), target = _useState2[0], setTarget = _useState2[1]; var timeout = props.timeout, optiosData = props.optiosData, tabvalue = props.tabvalue, value = props.value, _props$scrollIntoView = props.scrollIntoView, scrollIntoView = _props$scrollIntoView === void 0 ? true : _props$scrollIntoView; (0, _react.useEffect)(function () { if (scrollIntoView && value) { var index = getIndexByValue(optiosData, tabvalue); var val = value[index]; if (val !== undefined) { (0, _taro.nextTick)(function () { setTimeout(function () { setTarget("vant-cascader-item".concat(val)); }, timeout); }); } else { setTarget(''); } } }, // eslint-disable-next-line react-hooks/exhaustive-deps [tabvalue, value]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ScrollView, { scrollWithAnimation: false, scrollY: true, className: "van-cascader-tab", scrollIntoView: target, children: props.children }); } function getIndexByValue(arr, value) { var res = 0; for (var i = 0; i < arr.length; i++) { var item = arr[i]; if (item.paneKey === value) { res = i; break; } } return res; }