el-table中超出显示省略号,hover显示所有,可分为两种情况:单元格内为固定文本/插值表达式{{xxx}}和el-input输入框
情况1、单元格内为固定文本/插值表达式{{xxx}}——show-overflow-tooltip
show-overflow-tooltip加在el-table-column上,实现超出部分三点显示,hover显示所有,增强页面美观性
<el-table-column prop="cooperateStatus" label="状态" min-width="110" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.cooperateStatus == 4">合作中123456789</span>
<span v-if="scope.row.cooperateStatus == 5">暂停合作123456789</span>
<span v-if="scope.row.cooperateStatus == 6">终止合作123456789</span>
</template>
</el-table-column>
`注意`:如果要使用show-overflow-tooltip,并且要用`<template>`标签,`<template>`标签里面嵌套`<span>标签`才能生效
情况2、单元格内为el-input输入框——el-popover 或 :title
当单元格内嵌套el-input输入框时,show-overflow-tooltip不生效,此时需要考虑其他方案。element组件库提供了el-popover和el-tooltip,效果如下:
el-tooltip:
<el-table-column label="请求数据" width="300px">
<template slot-scope="scope">
<el-tooltip class="item" effect="light" :content="scope.row.reqData" placement="top-start">
<el-input v-model="scope.row.reqData"></el-input>
</el-tooltip>
</template>
</el-table-column>
el-popover:
<el-table-column label="返回数据" width="300px">
<template slot-scope="scope">
<el-popover width="250" placement="top-start" trigger="hover" :content="scope.row.respData">
<el-input v-model="scope.row.reqData"></el-input>
</el-popover>
</template>
</el-table-column>
注意: 用以上两种方法虽然可以实现嵌套el-input效果,但是当文本框内为空时,鼠标放入时也会有个空黑框,测试跳起来说能不能超出文本框再提示啊?!终极大法:在el-input中写入 :title属性;效果为超出文本框在文字右下方hover白框提示
<el-table-column prop="cooperateStatus" label="状态" min-width="110" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-model="scope.row.state :title="scope.row.state"></el-input>
</template>
</el-table-column>
类似bi站的这个效果