el-table组件内容过长时显示tooltip

简介: el-table组件内容过长时显示tooltip

1、el-table中show-overflow-tooltip的问题

el-table内容过多的时候可以设置 show-overflow-tooltip为 true,这样可以设置实现超出隐藏功能。

但是这个方法有些问题:

1、不能复制悬浮框里的内容;

2、内容过多时候(多到一满屏都放不下的时候),页面会晃动。

2、自定义表格显示方式

先看下效果

image.png


8.png


如果拖动表头宽度,改变列的宽度,也可以适应。

3、代码

<div v-if="showOverPopover.isOpen && isTextTooLong(scope.column,scope.row[item.fieldName])" class="textover">
     <el-popover
           :width="showOverPopover.width"
           placement="left"
           popper-class="el-popover_tableFilter"
           trigger="hover">
           <div class="content" :style="{'max-height':showOverPopover.maxHeight + 'px'}">
               {{scope.row[item.fieldName]}}
           </div>
           <span slot="reference">{{scope.row[item.fieldName]}}</span>
     </el-popover>
  </div>
  <div v-else> {{scope.row[item.fieldName]}}</div>

methods: {
        //判断字段是否超出表头宽度
        isTextTooLong({realWidth, width},name){
            if(realWidth){
                return realWidth < this.getTextWidth(name)
            }else{
                return width < this.getTextWidth(name)
            }
        },
        //获取单元格字段宽度
        getTextWidth(str){
            var width = 0;
            var html = document.createElement('span');
            html.innerText = str;
            html.className = 'getTextWidth';
            document.querySelector('body').appendChild(html);
            width = document.querySelector('.getTextWidth').offsetWidth;
            if(isIE()||isIE11()) {
                document.querySelector('.getTextWidth').removeNode(this);
            }else {
                document.querySelector('.getTextWidth').remove();
            }
            function isIE(){
                if(!!window.ActiveXObject || "ActiveXObject" in window){
                    return true;
                }else{
                    return false;
                }
            }
            function isIE11(){
                if((/Trident\/7\./).test(navigator.userAgent)){
                    return true;
                }else{
                    return false;
                }
            }
            return width;
        }
}

能实现上述效果主要是能获取到列的width和realWidth 这2个字段的值(目前这个版本是可以获取到的),不拖动表头宽度的时候获取的是width字段,拖动表头后获取realWidth .


相关文章
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
隐藏el-table-column过多的内容并进行浮窗展示
|
移动开发 JavaScript HTML5
Vue2视频播放(Video)
这篇文章介绍了如何在Vue 3框架中创建一个视频播放组件(Video),支持自定义视频源、封面、自动播放等多种播放选项和样式设置。
829 1
Vue2视频播放(Video)
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
9169 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
前端开发
element菜单组件样式修改NavMenu导航菜单
本文介绍了如何修改Element UI的NavMenu导航菜单组件的样式,包括激活菜单项的颜色、菜单项hover颜色、父级菜单hover颜色以及菜单行高。提供了相应的CSS代码示例,并展示了如何将这些样式应用到实际的NavMenu组件中。
1142 3
element菜单组件样式修改NavMenu导航菜单
|
12月前
|
前端开发 JavaScript 开发者
利用 el-select 和 el-tree 实现树形结构多选框联动功能
本文详细介绍了如何使用ElementUI中的el-select下拉选择器和el-tree树形控件来实现多功能联动选择器,包括多选、删除、搜索、清空选项等功能。通过树形控件展示复杂的层级结构,用户可以通过下拉选择树形节点,实时搜索节点,且支持批量选择和删除功能。文中提供了完整的HTML、JavaScript和CSS代码实现,帮助开发者快速集成此功能。
3966 0
利用 el-select 和 el-tree 实现树形结构多选框联动功能
|
JavaScript
基于Vue2.X对WangEditor 5富文本编辑器进行封装与使用,支持单个或多个图片点击、粘贴、拖拽上传,Vue3.X项目也可直接使用
这篇文章介绍了如何在Vue 2.X项目中封装和使用WangEditor 5富文本编辑器,支持图片的点击、粘贴和拖拽上传,同时提到封装的组件也适用于Vue 3.X项目,并提供了详细的使用示例和后端配置。
1574 1
基于Vue2.X对WangEditor 5富文本编辑器进行封装与使用,支持单个或多个图片点击、粘贴、拖拽上传,Vue3.X项目也可直接使用
|
JavaScript 前端开发
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
这篇文章介绍了在Vue框架中使用Element UI组件库时,如何通过v-if指令和v-model绑定来控制`el-form-item`的显示与隐藏,以及如何通过设置`readonly`属性让输入框变为只读状态。
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
Element UI 日期选择器el-date-picker禁止选择指定日期(禁止选择过去,禁止选择未来)【含是否包含今天】
Element UI 日期选择器el-date-picker禁止选择指定日期(禁止选择过去,禁止选择未来)【含是否包含今天】
796 3
|
JavaScript
Vue2之父与子组件互相传参和方法调用
这篇文章介绍了Vue 2中父子组件之间互相传参和方法调用的四种方式:通过`ref`调用子组件方法、通过`props`调用父组件方法、父组件通过`:param`传参给子组件,以及子组件通过`emit`传参给父组件。
2228 0
Element - ui :el-input 输入只能是数字并且小数点后只能是1-2位
Element - ui :el-input 输入只能是数字并且小数点后只能是1-2位
4908 1