@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
60 lines (54 loc) • 1.47 kB
JavaScript
import { createVNode as _createVNode } from "vue";
import { computed, defineComponent } from 'vue';
import { isFunction } from '@fe6/shared';
import { BasicTitle } from '../../../basic-title';
import useConfigInject from '../../../_util/hooks/useConfigInject';
export default defineComponent({
name: 'TableProTitle',
props: {
title: {
type: [Function, String]
},
getSelectRows: {
type: Function
},
helpMessage: {
type: [String, Array]
},
prefixCls: String
},
setup: function setup(props) {
var _useConfigInject = useConfigInject('table-pro-title', props),
prefixClsNew = _useConfigInject.prefixCls;
var getTitle = computed(function () {
var title = props.title,
_props$getSelectRows = props.getSelectRows,
getSelectRows = _props$getSelectRows === void 0 ? function () {} : _props$getSelectRows;
var tit = title;
if (isFunction(title)) {
tit = title({
selectRows: getSelectRows()
});
}
return tit;
});
return {
getTitle: getTitle,
prefixClsNew: prefixClsNew
};
},
render: function render() {
var _this = this;
var titleNode = null;
if (this.getTitle) {
titleNode = _createVNode(BasicTitle, {
"help-message": this.helpMessage
}, {
default: function _default() {
return [_this.getTitle];
}
});
}
return titleNode;
}
});