根据el-form-item 插槽自定义表头,使用el-tooltip包裹,通过mouseenter事件计算label长度是否溢出来控制el-tooltip的显示隐藏
<el-form-item v-bind="customAttrs" class="ts-font-14 ts-form-item" :class="{'inline-full-width':inlineFullWidth}">
<template slot="label">
<el-tooltip :content="customAttrs.label" placement="top" :disabled="isShowTooltip">
<span @mouseenter="visibleTooltip">{{customAttrs.label}}</span>
</el-tooltip>
</template>
<slot></slot>
</el-form-item>
.ts-form-item .el-form-item__label{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
/*display:inline;*/
}
visibleTooltip(e){
this.isShowTooltip = e.target.offsetWidth + 18 - e.fromElement.clientWidth > 0 ? false : true; //18为required *号引起的偏差。
}