UNPKG

iep-ui

Version:

An enterprise-class UI design language and Vue-based implementation

73 lines (58 loc) 1.79 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _vueTypes = require('../_util/vue-types'); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _propsUtil = require('../_util/props-util'); var _configConsumerProps = require('../config-provider/configConsumerProps'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = { name: 'IepTableTabs', props: { showZero: _vueTypes2['default'].bool, dataOptions: _vueTypes2['default'].array, defaultActive: _vueTypes2['default'].any }, data: function data() { return { activeKey: this.defaultActive }; }, inject: { configProvider: { 'default': function _default() { return _configConsumerProps.ConfigConsumerProps; } } }, methods: { handleClick: function handleClick(val) { if (this.activeKey === val.id) return; this.activeKey = val.id; this.$emit('changeTab', val); } }, render: function render() { var _this = this; var h = arguments[0]; var customizePrefixCls = this.prefixCls, $slots = this.$slots; var getPrefixCls = this.configProvider.getPrefixCls; var prefixCls = getPrefixCls('table-tabs', customizePrefixCls); return h( 'div', { 'class': prefixCls }, [this.$props.dataOptions.map(function (item) { return h( 'div', { 'class': prefixCls + '-item ' + (_this.activeKey === item.id ? prefixCls + '-active' : ''), on: { 'click': _this.handleClick.bind(_this, item) } }, [item.label] ); })] ); } };