UNPKG

zent

Version:

一套前端设计语言和基于React的实现

69 lines (58 loc) 1.86 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _TabPanel = require('./components/TabPanel/TabPanel'); var _TabPanel2 = _interopRequireDefault(_TabPanel); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /** * 从tabpanel中提取数据,数据格式为 * { * title: 'xxx', * disabled: false, * key: 'xx', * actived: false, * content: ReactElement, * panelClassName: 'xxx', * tabClassName: 'xxx', * onTabReady: func * } */ var tabUtil = { getTabListData: function getTabListData(children, activeId) { var _this = this; var childrenList = _react2['default'].Children.toArray(children); var listData = []; _react2['default'].Children.forEach(childrenList, function (child) { if (_this.checkIfTabPanel(child)) { var _child$props = child.props, id = _child$props.id, disabled = _child$props.disabled, tab = _child$props.tab, panelChildren = _child$props.children, onTabReady = _child$props.onTabReady, panelClassName = _child$props.panelClassName, tabClassName = _child$props.tabClassName; listData.push({ title: tab || '', disabled: !!disabled, key: id, actived: activeId === id, content: panelChildren, panelClassName: panelClassName, tabClassName: tabClassName, onTabReady: onTabReady }); } }); this.listData = listData; return listData; }, checkIfTabPanel: function checkIfTabPanel(rEl) { return rEl.type && rEl.type === _TabPanel2['default']; } }; exports['default'] = tabUtil; module.exports = exports['default'];