解决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 相关文章推荐
jquery调用wcf并展示出数据的方法
Jul 07 Javascript
JS获取URL中的参数数据
Dec 05 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
JS简单实现获取元素的封装操作示例
Apr 07 Javascript
jQuery ajax动态生成table功能示例
Jun 14 jQuery
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
JavaScript的查询机制LHS和RHS解析
Aug 16 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 Javascript
JavaScript实现无限轮播效果
Nov 19 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
PHP parse_url 一个好用的函数
2009/10/03 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
javascript中的缓动效果实现程序
2012/12/29 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
python中cPickle用法例子分享
2014/01/03 Python
python中redis的安装和使用
2016/12/04 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python3.6简单反射操作示例
2018/06/14 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Python内置异常类型全面汇总
2020/05/28 Python
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
J2EE面试题大全
2016/08/06 面试题
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
优秀党员获奖感言
2014/02/18 职场文书
班干部演讲稿
2014/04/24 职场文书
教师考核材料
2014/05/21 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript