iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
73 lines (58 loc) • 1.79 kB
JavaScript
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]
);
})]
);
}
};
;