解决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 相关文章推荐
javascript-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
JavaScript实现的一个倒计时的类
Mar 12 Javascript
jquery.cookie.js用法实例详解
Dec 25 Javascript
BootStrap的JS插件之轮播效果案例详解
May 16 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
javascript获取select值的方法完整实例
Jun 20 Javascript
Taro小程序自定义顶部导航栏功能的实现
Dec 17 Javascript
vue中使用echarts的示例
Jan 03 Vue.js
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下使用SMTP发邮件的代码
2008/01/10 PHP
php array的学习笔记
2012/05/16 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
prototype1.4中文手册
2006/09/22 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python集合操作方法详解
2020/02/09 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
计算机专业学生的自我评价
2013/12/15 职场文书
社区活动总结报告
2014/05/05 职场文书
运动会加油稿100字
2014/09/19 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
质量负责人岗位职责
2015/02/15 职场文书
警示教育片观后感
2015/06/17 职场文书
小学教师见习总结
2015/06/23 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
基于Python编写一个监控CPU的应用系统
2022/06/25 Python