解决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 相关文章推荐
JS 判断代码全收集
Apr 28 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
使用javascript获取页面名称
Dec 23 Javascript
JQuery插件jcarousellite的参数中文说明
May 11 Javascript
javascript连续赋值问题
Jul 08 Javascript
浅谈javascript中onbeforeunload与onunload事件
Dec 10 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
基于angular实现三级联动的生日插件
May 12 Javascript
JavaScript字符串检索字符的方法
Jun 23 Javascript
vue.js评论发布信息可插入QQ表情功能
Aug 08 Javascript
简化版的vue-router实现思路详解
Oct 19 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
DEFER怎么用?
2006/07/01 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
python实现矩阵乘法的方法
2015/06/28 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Django框架验证码用法实例分析
2019/05/10 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python默认参数调用方法解析
2020/02/09 Python
python实现在线翻译
2020/06/18 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
存储过程的优点有哪些
2012/09/27 面试题
医药专业推荐信
2013/11/15 职场文书
自我鉴定书
2014/03/24 职场文书
求职信结尾怎么写
2014/05/26 职场文书
业务员岗位职责范本
2015/04/03 职场文书
百年校庆感言
2015/08/01 职场文书
培训感想范文
2015/08/07 职场文书
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏