解决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吗?
Feb 24 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
浅析java线程中断的办法
Jul 29 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
PHP脚本的10个技巧(4)
2006/10/09 PHP
php 分页原理详解
2009/08/21 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
jquery 选择器部分整理
2009/10/28 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
python 格式化输出百分号的方法
2019/01/20 Python
在django模板中实现超链接配置
2019/08/21 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
小学毕业感言150字
2014/02/05 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
环保建议书范文
2015/09/14 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
MySQL 计算连续登录天数
2022/05/11 MySQL