el-table-column宽自适应

我们在用el-table表格的时候有时候在我们自己电脑上面看到的宽是正好的,但是别人那边看到的就会出问题,针对以下问题我目前知道两个解决方法

 

方法一:把宽都去掉

 

方法二:绑定一下宽的值,在methods里写一下这个方法

 

 :width="flexColumnWidth('pNumber',tableData)"
    // 自适应表格列宽
    flexColumnWidth(str, tableData, flag = 'max') {
      // str为该列的字段名(传字符串);tableData为该表格的数据源(传变量);
      // flag为可选值,可不传该参数,传参时可选'max'或'equal',默认为'max'
      // flag为'max'则设置列宽适配该列中最长的内容,flag为'equal'则设置列宽适配该列中第一行内容的长度。
      str = str + ''
      let columnContent = ''
      if (!tableData || !tableData.length || tableData.length === 0 || tableData === undefined) {
        return
      }
      if (!str || !str.length || str.length === 0 || str === undefined) {
        return
      }
      if (flag === 'equal') {
        // 获取该列中第一个不为空的数据(内容)
        for (let i = 0; i < tableData.length; i++) {
          if (tableData[i][str].length > 0) {
            // console.log('该列数据[0]:', tableData[0][str])
            columnContent = tableData[i][str]
            break
          }
        }
      } else {
        // 获取该列中最长的数据(内容)
        let index = 0
        for (let i = 0; i < tableData.length; i++) {
          if (tableData[i][str] === null) {
            return
          }
          const now_temp = tableData[i][str] + ''
          const max_temp = tableData[index][str] + ''
          if (now_temp.length > max_temp.length) {
            index = i
          }
        }
        columnContent = tableData[index][str]
      }
      // console.log('该列数据[i]:', columnContent)
      // 以下分配的单位长度可根据实际需求进行调整
      let flexWidth = 0
      for (const char of columnContent) {
        if ((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z')) {
          // 如果是英文字符,为字符分配8个单位宽度
          flexWidth += 8
        } else if (char >= '\u4e00' && char <= '\u9fa5') {
          // 如果是中文字符,为字符分配15个单位宽度
          flexWidth += 15
        } else {
          // 其他种类字符,为字符分配8个单位宽度
          flexWidth += 8
        }
      }
      if (flexWidth < 80) {
        // 设置最小宽度
        flexWidth = 80
      }
      // if (flexWidth > 250) {
      //   // 设置最大宽度
      //   flexWidth = 250
      // }
      return flexWidth + 'px'
    }

小付-小付
关注 关注
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ElementUI 实现el-table自适应
02-23 1335
一、概述 Element UI 是 PC 端比较流行的 Vue.js UI 框架,它的组件库基本能满足大部分常见的业务需求。但有时候会有一些定制性比较高的需求,组件本身可能没办法满足。最近在项目里就碰到了。 很多页面都需要用到表格组件el-table。如果没有给el-table-column指定宽度,默认情况下会平均分配给剩余的列。在列数比较多的情况,如果el-table宽度限定在容器内,单元格里的内容就会换行。强制不换行,内容要么在单元格内滚动,要么就会溢出或被截断。 产品想要的效果是:内容保持单行显示,
HTML页面自适应宽度table(表格)
11-19
WEB应用的页面,表格的表现形式是常常遇到的,在列数有限的前提下,如何将各列中的内容自适应到不同分辨率的屏幕,这应该是一个比较容易遇到的问题,下面就来谈一谈我对这类问题的解决与看法。 将所有列设置为固定宽度,显然是不能满足此类要求的,但是若把全部的列都设置为百分比,恐怕在某些尺寸,或分辨率下,会变得很难看。比较习惯于用如下的方式来处理——在表格列数不是很多的前提下——将大部分列用固定值设置死,留下一列不设置宽度,将table宽度设置为屏幕的百分比(譬如95%、98%等)。  例: <table width="95%" border="1" cellpadding="2" cellspac
基于ElementUI二次封装的支持自适应tablecolumn列组件
08-10
基于 Element-UI 二次封装的支持自适应table-column 列组件
elementui的el-table根据列内容长度自适应调整列
树上骑个猴的博客
08-06 1万+
应用: <el-table-column prop="paperNumber" :width="flexColumnWidth('paperNumber',viceTableData)" label="单号" align="center" /> 在methods{ }里写声明函数: flexColumnWidth(str,tableData,flag='max') { // str为该列的字段名(传字符串);tableData为该表格的数据
element-plus表格组件el-table 的使用
最新发布
lucky_ly的博客
08-17 1068
表格是在前端页面中是经常被用到的,尤其是管理系统,几乎每个页面都会存在表格,所以掌握表格组件是非常有必要的。element-plus提供el-tableel-table-column来渲染表格,
表格 el-table-column 宽度自适应
weixin_63832468的博客
05-31 1331
背景:在使用表格的时候,发现如果用户只有一个按钮权限,这一列会留出很多空白的地方,需要去掉这些空白的地方,同时也要按钮不要换行,这种情况可以使用宽度自适应解决。这个方法也适用于文本。下面分三步实现,用的是 vue3 语法实现的,vue2 的需要调整一下,代码不多,就只贴图片了。
ElementUI中el-table表格操作列宽度自适应以及封装成全局变量
qickcao的博客
01-29 5177
如果你的项目中有很多这样的表格都需要动态的设置,可以把这个函数封装成util,然后main中声明为全局方法,以后直接调用即可。对于el-table的操作列,如果不设置width或win-width,当表格列过多时,操作列会被分配的很窄,操作列显示不下的时候会自动换行,当表格列过少时,操作列会被分配很,边缘有很大的空隙。3、在其他组件中的更新阶段updated中使用。网上看了几篇文章,拿过来用不生效!封装如下:1、el_table.js。1、设置min-width为动态值。5、如果有需要封装成全局方法。
el-table 表格列自适应
我的小鱼干呢!
07-30 915
思路:获取当前列的最长数据和表头名称比较,取大值赋值给宽度
改变el-table宽度
12-12
`:width`的值来自`tableColumn`对象,通过`tableColumn['tab-table-1'][索引]`获取,这里的`'tab-table-1'`是表格ID,索引对应于`el-table-column`在`tableColumn`数组中的位置。 在`mounted`生命周期钩子中,`...
ElementUI中el-table表格列自适应以及封装
qickcao的博客
01-29 2523
el-table操作列自适应以及封装]: https://blog.csdn.net/qickcao/article/details/135903339。封装全局参数$getColumnWidth(props,data)的过程以及注册。3、在其他组件中需要自适应宽度el标签中直接使用即可,使用时传递两个值。关于el-table操作列自适应,请看下面传送门。el-table表格的列自适应宽度,用的的应该都知道有啥缺点吧?老规矩,自己动手、丰衣足食…这个功能我应该怎么说呢?
动态设置el-table操作列的宽度自适应
宁静致远
11-05 2万+
el-table动态操作列宽度自适应设置
el-table自适应实现
qq_25741071的博客
09-06 2591
给需要自适应column写一个动态的width。1. 强制表格内容不换行显示。2. 实现表格列自适应撑开。别忘记了还得设置CSS。
ElementUI中的el-table解决宽度问题 - 根据内容自动撑开
觉醒法师的专栏
07-03 6975
在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下表格宽度为100%显示,并且列项未指定宽度情况下,剩余部分会平均分配宽度,本案例实际需求是由内容自动撑开显示。componentUpdated
el-table的表格宽度自适应
s_1024的博客
02-02 5695
el-tale组件在表头中只提供了一个width属性来控制表格的宽度,如果将其写死,则会针对过长的内容可能会有溢出换行、针对过短的内容可能会出现占位过多,所以就写了一个js文件来根据字符的长短来返回相应的宽度
el-table-column 表格列宽度根据内容自适应
热门推荐
xiaoyuer_2020的博客
08-23 2万+
问题 el-table 对于动态获取数据的表格,希望单元格内容不换行,就要设定足够的宽度el-table-column 是支持设置固定宽度的,但是,由于数据不确定,所以无法预设宽度,怎么解决呢? 解决方案 可以根据实际渲染后的 DOM 元素宽度动态计算内容宽度就能设置列的宽度。 具体做法 通过查看渲染后的 DOM 元素发现,el-table 的表头和内容分别用了一个原生table,通过colgroup设置每列的宽度。就从这里入手,col的name属性值和对应的 td 的class值是一致的,这样就可以遍历
el-table自适应
weixin_55552928的博客
12-29 4611
table自适应 不换行
element el-table表格内容宽度自适应,不换行,不隐藏
敲代码无敌小奶龙的博客
02-27 3788
element el-table表格内容宽度自适应,不换行,不隐藏
el-table表格 操作栏 自适应宽度 笔记
passerby_lin的博客
11-20 955
通过querySelectorAll获取下面的所有喊operation类名的元素来计算宽度。template 代码 el-table-column绑定动态宽度 intiWidth。首先通过获取表格的ref,multipleTable。最后再监听表格数据的变化来执行方法,这样就大功告成啦。如果想写成全局使用 ,那么可以使用vue的mixin。然后在你的 Vue 项目中,可以在。以下是如何将这个方法作为 mixin。在你的组件中,你就可以直接使用。给每个操作按钮绑定类名。
el-table-column自适应宽度
05-31
对于el-table-column自适应宽度的问题,可以使用以下两种方法: 1. 设置width属性为auto,让列宽度自适应内容: <el-table-column prop="name" label="姓名" width="auto"></el-table-column> 2. 使用slot-scope自定义列模板,通过监听内容宽度动态设置列宽度: <el-table-column label="姓名"> <template slot-scope="scope"> <div class="cell">{{ scope.row.name }}</div> </template> </el-table-column> <style> .cell { width: fit-content; min-width: 100%; } </style> 其中,.cell样式中的width: fit-content可以使宽度自适应内容,min-width: 100%可以保证单元格宽度不小于列宽度
写文章

热门文章

  • Date对象 10896
  • router传参接参(详细)router.beforeEach() 8979
  • vuex存取数据(超详细)props传值 8140
  • 初识vue3 7897
  • el-table-column宽自适应 7357

最新评论

  • 搭建element-Vue2后台管理项目

    woyaobf572: 请问你解决了吗 我也是这样

  • dv-scroll-ranking-board---排名轮播

    满目鑫辰映晚婷: 数值没显示上去是为啥?

  • vue2vue3项目-antd

    努力吧少年-珊珊: 你果然是人才

  • 搭建element-Vue2后台管理项目

    努力吧少年-珊珊: 界面非常好,省我写一个系统了 ,good

  • 封装一个带查询功能的树形省市区(el-tree)

    xiaobizaizi666: 树形菜单的格式可以发一份吗

最新文章

  • proxy配置代理
  • vue中Mixins
  • canvas
2024年6篇
2023年18篇
2022年61篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司泰州网站seo优化服务网站优化的一些常见方案企业网站排名优化出色火4星网站搜索引擎优化的相关技能如何设计网站优化标题网站关键词优化推广效果保障大品牌房产网站快速排名优化方式无锡网站优化怎么做潍坊网站seo优化价格长春网站优化价格企业网站seo关键词优化兰州网站导航优化福州网站排名优化营销遵化市网站seo优化排名做网站需要找人优化吗莞城网站优化都有什么服务网站优化宣传视频泰安优化网站平台重庆铜梁网站优化东湖企业网站优化南宁seo网站排名优化价格莘县网站优化忻州湖南网站优化推广潜山网站优化哪里好性价比高的百度网站优化扬州广陵网站优化公司哪家便宜网站meta优化的方法赵县网站优化seo揭阳网站怎样优化网站龙卷风优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化