vue element 中的table动态渲染实现(动态表头)


Posted in Javascript onNovember 21, 2019

通过在vue中使用element的table表格,实现数据动态渲染,并且动态渲染表头。通过在父组件中引入子组件表格,然后向子组件传递表格数据和表头数据。

子组件table中template模板

<el-table 
  :data="this.tableData"
  height="400px" 
  max-height="400px" 
  size="small"
  row-class-name="row"
  cell-class-name="column"
  :row-style="setRowStyle"
  :cell-style="setColumnStyle"
  :highlight-current-row="true"
  @cell-click="cellClick"
  fit
  >
  <el-table-column
    v-for="(item, index) in tableLabel"
    :key="index" 
    :prop="item.prop" 
    :width="item.width" 
    :label="item.label">
  </el-table-column>
</el-table>

接收父组件传过来的数据

props: {
 tableData: { // 父组件传递过来的表格数据
    type: Array,
    default: []
  },
  tableLabel: { // 父组件传递过来的表头数据
    type: Array,
    default: () => {
      return []
    }
  }
}

父组件

<file-table 
 :tableData="tableData"
 :tableLabel="tableLabel"
>
</file-table>


data() {
 return {
 // 子组件的表格数据
 tableData: [
  {id: 1, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 2, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 3, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 4, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 5, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 6, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 7, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 8, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 9, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 10, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 11, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05},
  {id: 12, date: '2018-07-24', sales: 23.34, sale: 137597.76, const: 102203.71, profit: 35394.05}
 ],
 // 子组件的表头数据
 tableLabel: [
      {label: '', width: '40', prop: 'id'},
      {label: '日期', width: '', prop: 'date'},
      {label: '销售量', width: '', prop: 'sales'},
      {label: '销售额', width: '', prop: 'sale'},
      {label: '成本', width: '', prop: 'const'},
      {label: '利润', width: '', prop: 'profit'}
    ]
 }
}

问题:这种方式只能在一个组件中动态渲染,但是当我们需要操作每一列数据的时候,没法操作,因为element table再带的方法是每个单元格点击事件,而不符合我们需求,如何能实现表格动态渲染,并且每个组件都能使用,还能够实现操作的可控的列,下节分享。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery的live使用注意事项
Feb 18 Javascript
js处理php输出时间戳对不上号的解决方法
Jun 20 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
Oct 14 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
浅谈js中的延迟执行和定时执行
May 31 Javascript
input框中的name和id的区别
Nov 16 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
jQuery-App输入框实现实时搜索
Nov 19 jQuery
手写实现JS中的new
Nov 07 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 #Javascript
webpack常用构建优化策略小结
Nov 21 #Javascript
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 #Javascript
js实现课堂随机点名系统
Nov 21 #Javascript
JavaScript实现简单随机点名器
Nov 21 #Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 #Javascript
Vue实现按钮级权限方案
Nov 21 #Javascript
You might like
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
IE8 中使用加速器(Activities)
2010/05/14 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
jquery删除table当前行的实例代码
2016/10/07 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
巧用canvas
2017/01/21 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
vue 开发之路由配置方法详解
2019/12/02 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
Django实现学生管理系统
2019/02/26 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
Pycharm Git 设置方法
2020/09/15 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
金山毒霸系列的笔试题
2013/04/13 面试题
怎样写好自荐信和推荐信
2013/12/26 职场文书
自荐信的格式
2014/03/10 职场文书
大学生找工作求职信
2014/07/09 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
教师工作失职检讨书
2014/09/18 职场文书
Python PIL按比例裁剪图片
2022/05/11 Python
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android