UNPKG

dareway-rui

Version:

147 lines (121 loc) 6.06 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require('@babel/runtime/helpers/extends')); var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn')); var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _react = _interopRequireDefault(require('react')); var _utils = require('./../utils'); var _TabContext = _interopRequireDefault(require('./../TabContext')); require('./style.css'); var _ruiTab = _interopRequireDefault(require('rui-tab')); var _WrapTabPageViewWithFocus = _interopRequireDefault(require('./WrapTabPageViewWithFocus')); var TabView = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(TabView, _React$Component); function TabView(props) { (0, _classCallCheck2.default)(this, TabView); return (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(TabView).call(this, props) ); } (0, _createClass2.default)(TabView, [ { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(newProps) { var _this$props = this.props, tabpages = _this$props.tabpages, updateSuccess = _this$props.updateSuccess; var newTabpages = (0, _utils.getTabPagesDefineFromProps)(newProps); if (newTabpages.length != tabpages.length) { updateSuccess(newTabpages); } } }, { key: 'render', value: function render() { var _this = this; var _this$props2 = this.props, activeKey = _this$props2.activeKey, tabpages = _this$props2.tabpages, showTabPage = _this$props2.showTabPage, onTabClick = _this$props2.onTabClick; var restProps = Object.assign( {}, onTabClick ? { onTabClick: onTabClick } : {} ); // 这里这么干原因是... 模型中的 tabpages 不包含 TabPage 实体 var tagPageArr = _react.default.Children.toArray(this.props.children); return _react.default.createElement( 'div', { name: 'tab', className: 'rui-tab-wrapper' }, _react.default.createElement( _ruiTab.default, (0, _extends2.default)( { activeKey: activeKey, onChange: showTabPage, prefixCls: 'rui-tabs' }, restProps ), tagPageArr.map(function(tabPage) { var _tabPage$props = tabPage.props, name = _tabPage$props.name, labelValue = _tabPage$props.labelValue, children = _tabPage$props.children; // hidden 属性从 state 里面找... var tabpage = tabpages.find(function(page) { return page.name == name; }); if (tabpage) { var hidden = tabpage.hidden, _name = tabpage.name; var tabContextValue = { tabName: _this.props.name, tabPageName: _name }; return _react.default.createElement( _WrapTabPageViewWithFocus.default, { key: _name, tab: labelValue, hidden: hidden, name: _name, isActive: _name === activeKey, showTabPage: showTabPage }, _react.default.createElement( _TabContext.default.Provider, { value: tabContextValue }, children ) ); } return null; }) ) ); } } ]); return TabView; })(_react.default.Component); exports.default = TabView; //@ sourceMappingURL=TabView.js.map