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 相关文章推荐
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 Javascript
javascript连续赋值问题
Jul 08 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
vue src动态加载请求获取图片的方法
Oct 17 Javascript
Element Steps步骤条的使用方法
Jul 26 Javascript
基于JS实现快速读取TXT文件
Aug 25 Javascript
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
浅谈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
PHP GD 图像处理组件的常用函数总结
2010/04/28 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
javascript常用方法汇总
2014/12/02 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
python文件操作整理汇总
2014/10/21 Python
Python IDLE入门简介
2017/12/08 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
Linux常见面试题
2013/03/18 面试题
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
明星邀请函
2015/02/02 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
暑期家教宣传单
2015/07/14 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python