vue中使用table展示列表信息时,如果信息太长展示会很丑,table自带的溢出悬浮展示功能很不美观,而且悬浮框很难支持拷贝。这里记录下自己使用的悬浮展示代码,便于后续复制使用。
<el-table-column prop="measures" label="度量">
<template slot-scope="scope">
<el-popover
placement="top"
width="300"
trigger="hover"
:disabled="scope.row.measures && scope.row.measures.length <= 30"
>
<div>{{ scope.row.measures }}</div>
<span slot="reference" v-if="scope.row.measures && scope.row.measures.length <= 30">{{scope.row.measures}}</span>
<span slot="reference" v-if="scope.row.measures && scope.row.measures.length > 30">{{scope.row.measures.substr(0, 30) + "."}}</span>
</el-popover>
</template>
</el-table-column>
可以看到所有的判断都用的 scope.row.measures && scope.row.measures.length ,&&前面的判断表达式主要用于保证列信息存在,不然再刷新页面时,某一瞬间没拿到表数据,后半部分的语句会报异常,虽然对实际使用没什么影响,但最好还是解决下。