elementui el-tooltip文字提示组件弹出层内容格式换行处理

1、第一种

1.1 效果图

1.2、代码

html 复制代码
<template>
	<div class="wrapper">
	  <el-tooltip class="content" effect="dark" placement="top">
	     <div slot="content">
	       <div v-html="getTextBrStr(text)"></div>
	     </div>
	     <div>{{text}}</div>
	   </el-tooltip>
	 </div>
</template>
js 复制代码
export default {
	data() {
		return {
			text: '11111111111111111111111111111、2222222222222222222222222222222222222、33333333333333333333333333333、44444444444444444444444444444444444、55555555555555555555555555555555、6666666666666666666666666666666666、7777777777777777777777777777777777、88888888888888888888888888888888888、99999999999999999999999999999999999、101010101010101010101010101010、000000000000000000000000000000、121212121212121212121212121212121212121212、1313131313131313131313131313131313',
		}
	},
	methods: {
		// 第一种方式
		getRepairedOrderNosBrStr(text) {
	      let str = ''
	      if (text && text.length) {
	        for (let i = 0; i < text.length; i++) {
	          str += text[i];
	          // 在字符串的指定位置,将数据进行换行展示
	          if (i % 132 === 131) { // 检查是否是指定倍数的位置
	            str += '<br/>'
	          }
	        }
	      }
	      return str
	    },
	}
}
css 复制代码
<style lang="scss" scoped>
 .wrapper {
   min-height: 30px;
   padding: 5px 15px;
   color: #606266;
   border: 1px solid #DCDFE6;
   border-radius: 4px;
   .contentt {
     word-break: break-all;
     -webkit-line-clamp: 2;
     display: -webkit-box;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
   }
 }
</style>

2、第二种

2.1 效果图


2.2 代码

html 复制代码
<el-table-column align="center" label="备注">
 <template slot-scope="scope">
    <el-tooltip v-if="!isEdit" placement="top">
      <div slot="content">
        <div v-html="remarkHTML(scope.row.remark)" />
      </div>
      <div class="remark-txt" v-html="remarkHTML(scope.row.remark)"></div>
    </el-tooltip>
    <el-input
      v-if="isEdit"
      type="textarea"
      :autosize="{ minRows: 1, maxRows: 9}"
      placeholder="请输入备注"
      v-model="scope.row.remark">
    </el-input>
  </template>
</el-table-column>
js 复制代码
data() {
	return {
		isEdit: false,
	}
},
/** 备注 */
remarkHTML(remark) {
  // return remark.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
  if (remark) {
    return remark.replace(/\n|\r\n/g, '<br>').replace(/ /g, '  ')
  }
  return ''
},
css 复制代码
.remark-txt {
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
相关推荐
cyadyx1 小时前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell3 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝9 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_10 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
用户9385156350710 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端
kyriewen12 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek