vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信


Posted in Javascript onAugust 15, 2019

父组件

定义表头和表内容

data(){
 return{
  // 表格数据
  tableColumns: [],
  // 表头数据
  titleData:[],
 }
}

引入并注册子组件

import TableComponents from "../../components/table/table";
//注册子组件table
components: {
  tableC: TableComponents
},

获取表头和表内容数据。(真实数据应该是从接口获取的,由于是测试数据这里我先写死)

mounted() {
  this.titleData = 
    [{
      name:'日期',
      value:'date'
    },{
      name:'姓名',
      value:'name'
    },{
      name:'地址',
      value:'address'
    },{
      name:'汇率',
      value:'sharesReturn'
    }];
  this.tableColumns = 
    [{
      date: '2016-05-01',
      name: '王小虎1',
      address: '上海市普陀区金沙江路 1518 弄',
      sharesReturn: 0.03
    }, {
      date: '2016-05-02',
      name: '王小虎2',
      address: '上海市普陀区金沙江路 1517 弄',
      sharesReturn: 0.04
    }, {
      date: '2016-05-03',
      name: '王小虎3',
      address: '上海市普陀区金沙江路 1519 弄',
      sharesReturn: -0.01
    }, {
      date: '2016-05-04',
      name: '王小虎4',
      address: '上海市普陀区金沙江路 1516 弄',
      sharesReturn: 0.00
    }];
}

html代码

<tableC :tableColumns="tableColumns" :titleData="titleData" ></tableC>

子组件

js代码

export default {
 name: 'tbComponents',
 props: ['tableColumns','titleData'],
}

重点来了

html要怎么写呢?官网的文档是这么写的

vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信

el-table :data关联的是表格里的数据

el-table-column :prop关联的是表头的值 :label关联的是表头的文本

html动态渲染

<el-table :data="tableColumns" style="width: 100%">
 <el-table-column v-for="(item,key) in titleData" :key="key" :prop="item.value" 
  :label="item.name"></el-table-column>
</el-table>

效果如下:

vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信

最后剩下一个功能,如果 汇率大于0,则显示红色,小于0则显示绿色

先贴上完整代码:

<el-table :data="tableColumns" style="width: 100%">
  <el-table-column v-for="(item,key) in titleData" :key="key" :prop="item.value" :label="item.name">
    <template slot-scope="scope">
     <span v-if="scope.column.property==='sharesReturn'&&scope.row[scope.column.property]>0" style="color:red">{{scope.row[scope.column.property]}}</span>
     <span v-else-if="scope.column.property==='sharesReturn'&&scope.row[scope.column.property]<0" style="color: #37B328">{{scope.row[scope.column.property]}}</span>
     <span v-else>{{scope.row[scope.column.property]}}</span>
    </template>
  </el-table-column>
</el-table>

scope.row和scope.column分别代表什么呢? 可以在界面输出看看

先输出scope.row

vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信

由此可见scope.row代表 当前行 的数据

再来输出scope.column

vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信

得到这样一个对象,仔细看看,我们可以发现一点门路

vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信

由此可见scope.column.property代表 当前列的值

合并起来,当前单元格的值应该是scope.row[scope.column.property]

总结

以上所述是小编给大家介绍的vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
广告切换效果(缓动切换)
May 27 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
jquery实现图片翻页效果
Dec 23 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
Javascript将JSON日期格式化
Aug 23 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
JS对象是否拥有某属性如何判断
Feb 03 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
微信小程序的mpvue框架快速上手指南
May 15 Javascript
webpack介绍使用配置教程详解webpack介绍和使用
Jun 25 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 #Javascript
超详细的5个Shell脚本实例分享(值得收藏)
Aug 15 #Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 #Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 #Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 #Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 #Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
Aug 15 #Javascript
You might like
php自动获取目录下的模板的代码
2010/08/08 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
js获取url中&quot;?&quot;后面的字串方法
2014/05/15 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
python实现在字符串中查找子字符串的方法
2015/07/11 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
对numpy中shape的深入理解
2018/06/15 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
十八届三中全会报告学习材料
2014/02/17 职场文书
反腐倡廉标语
2014/06/24 职场文书
国庆促销活动总结
2014/08/29 职场文书
高中生学习计划书
2014/09/15 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
毕业典礼致辞
2015/07/29 职场文书
远程教育培训心得体会
2016/01/09 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python