解决iView Table组件宽度只变大不变小的问题


Posted in Javascript onNovember 13, 2020

示例:

<Table class="my-table"></Table>

打开开发者工具其实你可以发现iView给table标签的宽度加上了一个明确的宽度值,而且在父元素变小的时候这个值并没有相应地变小,所以才会导致的iView Table组件只会变大不会变小。

那么我们就可以根据这个原因才决定解决方案

1、给Table组件的table标签设置一个important的width

.my-table table {
 width: 100% !important;
}

这个方法并不是特别好,因为他可能会出现table慢慢变小(而不是瞬间变小)的情况,所以看起来并不是特别好。

2、给Table组件一个确定的计算值

.my-table {
 width: calc(100% - 100px);
}

这个方法在目前我已知的方法里是最优的。

3、不要给Table组件的columns参数中添加width属性(未验证)

columns: [{
 title: '标题',
 width: 200 // 不加这东西
}]

这个方法是网友给的,我没验证不知道有没有用。

补充知识:iview表格Table表头动态化实现

业务逻辑:根据日期,时间筛选跨度固定为3个月,获取数据,表格动态按月份展示,看图

解决iView Table组件宽度只变大不变小的问题

解决iView Table组件宽度只变大不变小的问题

表格还是这么简单

<Col span="8"> 时 间:
 <Date-picker type="month" format="yyyy-MM" :clearable='false' :editable='false' :options="startOption" v-model="searchParams.sDate" style="width: 200px"></Date-picker> 至 
 <Date-picker type="month" format="yyyy-MM" :clearable='false' :editable='false' :options="endOption" v-model="searchParams.eDate" style="width: 200px"></Date-picker>
</Col>
<Table stripe :columns="tableColumns" :data="tableData"></Table>

思路:固定时间跨度监听解决不赘述,搜索获取数据后,对tableColumns,进行处理,(push,splice,uhshift…都可以)引起DOM刷新,

处理tableColumns的函数

this.$utils.time.formatTime为封装好的时间处理函数,moment.js

// 初始化表头
  columsInit () {
   let timeStr1 = this.$utils.time.formatTime(this.searchParams.sDate, 'YYYY-MM')
   let startMonth = timeStr1 + '月维护企业数'
   let timeStr2 = this.$utils.time.formatAddTime(this.searchParams.sDate, 'YYYY-MM', 1, 'months')
   let midMonth = timeStr2 + '月维护企业数'
   let timeStr3 = this.$utils.time.formatTime(this.searchParams.eDate, 'YYYY-MM')
   let endMonth = timeStr3 + '月维护企业数'
   this.tableColumns.splice(3, 4,
    {
     title: startMonth,
     align: 'center',
     render: (h, params) => {
     //下面业务逻辑直接不用看
      // console.log(timeStr1)
     /*  let arr = params.row.historyDataListDto || [];
      let obj = null
      arr.forEach((item, index) => { //有些人员,有些月份的数据没有
       if (item.month == timeStr1) {
        obj = arr[index]
       }
      })
      if (obj) {
       return h('a', {
        on: {
         click: () => {
          this.toDetail(params.row.uId, params.row.class2Id, obj.month, obj.month, obj.dirId)
         }
        }
       }, obj.whsNum)
      } else {
       return h('span', '--')
      }
     */业务逻辑
     }
    },
    {
     title: midMonth,
     align: 'center',
     render: (h, params) => {
     
     }
    },
    {
     title: endMonth,
     align: 'center',
     render: (h, params) => {
      
     }
    },
    {
     title: '平均',
     align: 'center',
     key: 'avgNum'
    }
   )
  },

以上这篇解决iView Table组件宽度只变大不变小的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype使用指南之form.js
Jan 10 Javascript
JS类的封装及实现代码
Dec 02 Javascript
php上传图片并给图片打上透明水印的代码
Jun 07 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
利用JS生成博文目录及CSS定制博客
Feb 10 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
js自定义弹框插件的封装
Aug 24 Javascript
PHP 502bad gateway原因及解决方案
Nov 13 #Javascript
解决iview table组件里的 固定列 表格不自适应的问题
Nov 13 #Javascript
Flexible.js可伸缩布局实现方法详解
Nov 13 #Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 #Javascript
在vue中嵌入外部网站的实现
Nov 13 #Javascript
如何基于viewport vm适配移动端页面
Nov 13 #Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 #Javascript
You might like
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python 图片验证码代码
2008/12/07 Python
python实现数组插入新元素的方法
2015/05/22 Python
Python实现大文件排序的方法
2015/07/10 Python
Python中return语句用法实例分析
2015/08/04 Python
Python数据结构之翻转链表
2017/02/25 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
Python的两道面试题
2013/06/29 面试题
学生个人求职自荐信格式
2013/09/23 职场文书
大学毕业感言
2014/01/10 职场文书
机电系毕业生求职信
2014/07/11 职场文书
React如何创建组件
2021/06/27 Javascript
SQL中的三种去重方法小结
2021/11/01 SQL Server