前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

elementUI中table列表中的tooltip内容换行



具体思路:

  1. 使用slot自定义el-tooltip内容
  2. v-html指令转义
  3. 删除 show-overflow-tooltip属性或设置为false,否则页面出现两个近乎重叠的tip
  4. 后端返回数据,使用正则表达式进行处理



<el-table-column
label="重点事项"
prop="keyMatter"
:show-overflow-tooltip="false"
class="el-tooltip__popper"
align="left" header-align="center"
style="max-height: 40px"
>
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" placement="top">
<div v-html="(scope.row.keyMatter).replace(/\n/g, '<br />')" slot="content"></div>
<div class="oneLine">{{scope.row.keyMatter}}</div>
</el-tooltip>
</template>
</el-table-column>

实际代码转换主要用到正则表达式匹配实现所需要的效果。

以下是封装的方法,直接传值运用即可(相当于上述的优化版)



格式化数据

ruleDate(data){
console.log('格式化数据', data);
if(data){
let newData = data.replace(/(\r\n)|(\n)|(\r)/g, '<br />');
return newData
}else{
return null
}
}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言