UNPKG

vantui-edit

Version:

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

54 lines (49 loc) 2.58 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; var _excluded = ["children", "style", "className", "active", "lazyRender", "lazyTimeout", "animated", "title"]; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import { useState, useEffect } from 'react'; import { View } from '@tarojs/components'; import * as utils from '../wxs/utils'; import { jsx as _jsx } from "react/jsx-runtime"; export function Tab(props) { var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), inited = _useState2[0], setInited = _useState2[1]; var children = props.children, style = props.style, className = props.className, active = props.active, lazyRender = props.lazyRender, lazyTimeout = props.lazyTimeout, animated = props.animated, title = props.title, others = _objectWithoutProperties(props, _excluded); useEffect(function () { if (!lazyTimeout) { setInited(function (pre) { return pre || active; }); } else { setTimeout(function () { setInited(function (pre) { return pre || active; }); }, lazyTimeout); } }, // eslint-disable-next-line react-hooks/exhaustive-deps [active]); return /*#__PURE__*/_jsx(View, _objectSpread(_objectSpread({ className: ' ' + utils.bem('tab__pane', { active: active, inactive: !active }) + " ".concat(className || ''), style: utils.style([active || animated ? '' : 'display: none;', style]) }, others), {}, { children: (inited || !lazyRender) && children })); } export default Tab;