解决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 相关文章推荐
arguments对象
Nov 20 Javascript
拉动滚动条加载数据的jquery代码
May 03 Javascript
json对象转字符串如何实现
Dec 02 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
详解百度百科目录导航树小插件
Jan 08 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
javaScript中的空值和假值
Dec 18 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
Apr 11 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
php验证手机号码
2015/11/11 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
vue远程加载sfc组件思路详解
2019/12/25 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
python线程池的实现实例
2013/11/18 Python
python合并文本文件示例
2014/02/07 Python
不要用强制方法杀掉python线程
2017/02/26 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Python爬取某平台短视频的方法
2021/02/08 Python
经销商会议欢迎词
2014/01/11 职场文书
村委会主任先进事迹
2014/01/15 职场文书
七年级历史教学反思
2014/02/05 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
餐厅总厨求职信
2014/03/04 职场文书
关于环保的建议书
2014/05/12 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书