首页 > 其他分享 >解决table内容超常溢出时tooltip位置偏移的问题

解决table内容超常溢出时tooltip位置偏移的问题

时间:2024-11-14 17:44:01浏览次数:1  
标签:byteLength truncatedStr const tooltip char 偏移 str displayValue table

 

 解决思路:<div style="width: 100px;" data-toggle="tooltip" data-placement="top" title="${displayValue}">${ displayValue.substring(0, 5) + "..." }</div>
这部分截取部分数据,超出...

      {
        field: "tslx",
        title: "投诉类型",
        cellStyle: formatTableUnit,
        formatter: function (value, row, index) {
          const maxChineseLength = 5; // 最大中文字符数
          const maxEnglishLength = 8; // 最大英文字符数
          const displayValue = value ? value : "——";

          // 计算字节长度
          function getByteLength(str) {
            let byteLength = 0;
            for (let i = 0; i < str.length; i++) {
              const char = str.charAt(i);
              byteLength += char.match(/[^\x00-\x80]/) ? 2 : 1; // 中文字符占用2字节,英文占1字节
            }
            return byteLength;
          }

          // 截取显示字符串
          function truncateString(str) {
            let byteLength = 0;
            let truncatedStr = "";
            for (let i = 0; i < str.length; i++) {
              const char = str.charAt(i);
              const charLength = char.match(/[^\x00-\x80]/) ? 2 : 1; // 中文字符占用2字节,英文占1字节
              if (
                byteLength + charLength > maxChineseLength * 2 &&
                char.match(/[^\x00-\x80]/)
              ) {
                truncatedStr += "...";
                break;
              } else if (byteLength + charLength > maxEnglishLength) {
                truncatedStr += "...";
                break;
              }
              byteLength += charLength;
              truncatedStr += char;
            }
            return truncatedStr;
          }

          // 判断是否需要截取
          const truncatedValue =
            getByteLength(displayValue) > maxChineseLength * 2 ||
            getByteLength(displayValue) > maxEnglishLength
              ? truncateString(displayValue)
              : displayValue;

          return `<div style="width: 100px;" data-toggle="tooltip" data-placement="top" title="${displayValue}">${truncatedValue}</div>`;
        },
      },

 

标签:byteLength,truncatedStr,const,tooltip,char,偏移,str,displayValue,table
From: https://www.cnblogs.com/tingorb/p/18546488

相关文章

  • vue3 h函数应用,el-table-v2定义column
    一、引入import{h}from'vue'二、column属性cellRenderer使用h函数h函数中嵌套Element组件Popconfirm{title:'注释',width:165,flexGrow:1,key:"str",dataKey:"str",cellRenderer:({rowData}:any)=>{......
  • 科普文:软件架构数据库系列之【MySQL状态参数:open table浅析和[ERROR] Error in accept
    概叙科普文:软件架构数据库系列之【MySQL状态参数:tablecache源码浅析】-CSDN博客MySQL经常会遇到Toomanyopenfiles,MySQL上的open_files_limit和OS层面上设置的openfilelimit有什么关系?源码中也会看到不同的数据结构,TABLE,TABLE_SHARE,跟表是什么关系?MySQLflushtable......
  • Java8 CompletableFuture异步任务
    无返回值调用importjava.util.concurrent.CompletableFuture;publicclassTestDemo{publicstaticvoidmain(String[]args){System.out.println("进入主线程=============");CompletableFuture.runAsync(()->getNum());System.......
  • R语言data.table导入数据实战:data.table使用自定义函数及Reduce函数实现一次性性多表
    R语言data.table导入数据实战:data.table使用自定义函数及Reduce函数实现一次性性多表连接、data.table使用自定义函数及Reduce函数实现一次性性多表连接目录R语言data.table导入数据实战:data.table使用自定义函数及Reduce函数实现一次性性多表连接#data.table是什么?#dat......
  • Stable Diffusion教程|SD WebUI必备插件教程 菜鸟轻松成高手第二期Free U插件
    今天要给大家介绍一款进阶插件——FreeU。这个插件是一个很有意思的插件,可以为生成出来的图片在底噪上进行调整从而展现出完全不同的风格,以下是具体的使用教程。在教程开始前要事先申明,本教程的使用是建立在使用算网云平台SDWebuiforge镜像的基础上,如果使用秋叶安装包则不......
  • 项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出
    需求  1.打开图片;  2.矫正识别角点;  3.四点对应偏移距离;  4.支持设置棋盘格的行列角点数;  5.导出结果图片; 背景  深入研究图像拼接细分支算法,产出的效果查看工具,验证算法单步思路。 相关博客  《项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图......
  • 指针加法中的隐形偏差:一次不该有的偏移踩坑
    在最近的开发中,有这样的一个需求,给一个结构体,我需要传出这个结构体的个别成员的地址,offsetof这个宏函数可以很好的解决这个业务需求,但是我还是踩坑了。下面看看我的踩坑记录。我们知道一个(TInfoRom*)infoRom类型的结构体指针,他指向当前结构体变量的首地址。我们可以通过off......
  • 【GreatSQL 优化器 - 01】const_table
    【GreatSQL优化器-01】const_table一、const_table介绍GreatSQL的优化器主要用JOIN类来进行处理SQL语句的,JOIN类有以下四个table数量相关的成员变量。其中const_tables是optimize最开始就检查并且标识的,因为这样可以把记录最少的表放在执行计划的第一步,在后面的......
  • 【stable diffusion部署】手把手教你从0基础入门Stable Diffusion
    前言在开始学之前,我想提前说一下,我所理解的AI绘画的本质,就是手替,人提出方案,AI帮你完成具体的作画过程。写这篇文章的初衷,网上的StableDiffusion教程太多了,但是我真正去学的时候发现,没有找到一个对小白友好的,被各种复杂的参数、模型的专业词汇劝退。所以在我学了之后,想出......
  • 超详细的 Stable Diffusion Webui入门教程 基础操作
    前言工欲善其事,必先利其器!今天我们聊聊StableDiffusionWebUI的基础操作以及各个参数都代表了什么。一、大模型的切换在StableDiffusion(以下简称SD)的背景下,大模型通常意味着,它能够更准确地理解给定的文本提示,生成更符合用户期待的图像。这些大模型通常是通过使用......