解决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 UI 使用心得及技巧
Oct 10 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
react.js 获取真实的DOM节点实例(必看)
Apr 17 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 Javascript
Angular项目如何升级至Angular6步骤全纪录
Sep 03 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
JS实现滑动导航效果
Jan 14 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
PHP 中的一些经验积累
2006/10/09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP 采集心得技巧
2009/05/15 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
一套PHP的笔试题
2013/05/31 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
工程项目经理任命书
2014/06/05 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
英语邀请函范文
2015/02/02 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
nginx.conf配置文件结构小结
2022/04/08 Servers