VUE+elementui组件在table-cell单元格中绘制微型echarts图


Posted in Javascript onApril 20, 2020

需求效果图示例

VUE+elementui组件在table-cell单元格中绘制微型echarts图

实际完成效果图

VUE+elementui组件在table-cell单元格中绘制微型echarts图**

代码实现

注:table表格为二次封装的子组件
-在table表格中 根据 scope.$index动态设置元素的id ,便于指定单元格的echarts初始化;

-在单元格中触发一个方法,传入当前的scope.row数据或者指定其他数据,并且传入 scope.$index 以及一个字符串便于识别当前是哪条数据的charts

-在方法中绘制echarts**

<el-table-column align="center">
    	 <template slot="header" slot-scope="scope">
      <div v-if="tableTitle == 'sale'">
       <p v-if="dateType != '1'">
        近{{ dateType }}天累计
        <br />
        / 日均销量
       </p>
       <p v-if="dateType == '1'">昨日累计销量</p>
      </div>
      <div v-if="tableTitle == 'fav'">
       <p v-if="dateType != '1'">
        近{{ dateType }}天累计
        <br />
        / 日均收藏量
       </p>
       <p v-if="dateType == '1'">昨日累计收藏</p>
      </div>
     </template>
     <div slot-scope="scope" style="white-space:nowrap;">
      <span class="xiao-red-color">{{ realRowName(scope.row, '0') || '-' }}</span>
      <span v-if="dateType != '1'" class="xiao-red-color">
       /
       {{ isNaN(realRowName(scope.row, '0')) ? '-' : (realRowName(scope.row, '0') / (parseInt(dateType) - calcShelfTime(scope.row.real_created_time, '0') < 0 ? parseInt(dateType): calcShelfTime(scope.row.real_created_time, '0'))).toFixed(0)}}
      </span>
     </div>
    </el-table-column>
    <el-table-column label="每日销量趋势" align="center" v-if="dateType != '1'">
     <template slot-scope="scope">
      {{ drawEcharts(scope.row, scope.$index, 'sale') }}
      <div :id="`tiger-sale-trend-index` + scope.$index" class="tiger-trend-charts"></div>
     </template>
    </el-table-column>

绘制echarts的方法(数据仅为示例,实际开发根据传进来的scope.row数据)注意此处初始化echarts对象时采用VUE的this.$nextTick方法,以防获取不到未渲染的节点元素。

drawEcharts() {
   //绘制趋势echarts
   // console.log(arguments)
   let option = {
    tooltip: {
     trigger: 'axis'
    },
    // legend: {
    //  data: ['每日30天销量分析']
    // },
    grid: {
     left: '10px',
     right: '30px',
     top: '40px',
     bottom: '10px',
     containLabel: true
    },
    xAxis: {
     show: false,
     type: 'category',
     boundaryGap: false,
     data: ['03-21', '03-22', '03-23', '03-24', '03-25', '03-26', '03-27']
    },
    yAxis: {
     show: false,
     type: 'value'
    },
    series: [
     {
      name: '每日30天销量分析',
      type: 'line',
      data: [120, 500, 101, 86, 173, 230, 6]
     }
    ]
   };
   let chartId = 'tiger-' + arguments[2] + '-trend-index' + arguments[1];
   this.$nextTick(() => {
    let myChart = this.echarts.init(document.getElementById(chartId), 'macarons');
    myChart.setOption(option);
    myChart.resize();
   });
  },

AND 不要忘记设置echarts的高度,否则一辈子也出不来图形(示例,根据实施开发调整)

&-frame {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;

  .price-bar {
   color: red !important;
  }
  .tiger-trend-charts {
   height: 60px;
   min-width: 100px;
  }
 }

到此这篇关于VUE+elementui组件在table-cell单元格中绘制微型echarts图的文章就介绍到这了,更多相关VUE elementui 单元格echarts图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript中的float运算精度实例分析
Aug 21 Javascript
javascript真的不难-回顾一下基础知识
Jan 15 Javascript
在js文件中如何获取basePath处理js路径问题
Jul 10 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
Sep 10 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
Mar 30 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
使用JavaScript破解web
Sep 28 Javascript
在vue项目实现一个ctrl+f的搜索功能
Feb 28 Javascript
利用js canvas实现五子棋游戏
Oct 11 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
Vue的全局过滤器和私有过滤器的实现
Apr 20 #Javascript
深入浅析JavaScript中的in关键字和for-in循环
Apr 20 #Javascript
vue实现购物车功能(商品分类)
Apr 20 #Javascript
vue实现淘宝购物车功能
Apr 20 #Javascript
javascript利用键盘控制小方块的移动
Apr 20 #Javascript
vue实现购物车的监听
Apr 20 #Javascript
详解微信小程序工程化探索之webpack实战
Apr 20 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
php实现通用的信用卡验证类
2015/03/24 PHP
php实现简单爬虫的开发
2016/03/28 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
python获取文件扩展名的方法
2015/07/06 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
使用Python进行目录的对比方法
2018/11/01 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
校班主任推荐信范文
2013/12/03 职场文书
小加工厂管理制度
2014/01/21 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
2014年防汛工作总结
2014/12/08 职场文书
学习保证书
2015/01/17 职场文书
致运动员赞词
2015/07/22 职场文书
简历自我评价范文
2019/04/24 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL