<script> import {cutStrByFullLength, getStrFullLength} from '@/components/_util/StringUtil' export default { name: 'Ellipsis', props: { prefixCls: { type: String, default: 'ant-pro-ellipsis' }, tooltip: { type: Boolean, default: true, }, length: { type: Number, default: 25, }, lines: { type: Number, default: 1 }, fullWidthRecognition: { type: Boolean, default: false } }, methods: {}, render() { const {tooltip, length} = this.$props let text = '' // 处理没有default插槽时的特殊情况 if (this.$slots.default) { text = this.$slots.default.map(vNode => vNode.text).join('') } // 判断是否显示 tooltip if (tooltip && getStrFullLength(text) > length) { return ( <a-tooltip> <template slot="title">{text}</template> <span>{cutStrByFullLength(text, this.length) + '…'}</span> </a-tooltip> ) } else { return (<span>{text}</span>) } } } </script>