后端项目地址:https://gitee.com/wlovet/table-server

前端项目地址:  https://gitee.com/wlovet/table-project

一、Render函数之Table加入IVIEW组件与表格修改

render函数可以在表格中除了可以加入html组件还有iview组件,使用方法是在定义列的时候使用元素构造对象h渲染新元素

 render:(h,params)=>{
return h('div',{
  props:{
  },
style:{
}
},params.row)
}

支持修改则在表格列中加入

 {
title: '操作',
key: 'action',
width: 200,
render: (h, params) => {
return h('div', [
h('Button', {
props: {
type: params.row.$isEdit ? 'warning' : 'info',
size: 'small',
icon: ''
},
style: {
marginRight: '5px',
},
on: {
click: () => {
if (params.row.$isEdit) {
this.handleSave(params.row);
} else {
this.handleEdit(params.row);
}
}
}
},params.row.$isEdit? '保存':'修改'),
h('Poptip', {
props: {
confirm: true,
title: '是否要删除此字段?',
transfer: true
},
on: {
'on-ok': () => {
//删除逻辑
}
},
}, [
h('Button', {
props: {
type: 'error',
size: 'small'
},
style: {
marginRight: '5px'
},
}, '删除')
]),
])
}
}

在methods属性中加入两个方法handleEdit、handleSave

 //点击了修改按钮
handleEdit(row) {
this.$set(row, "$isEdit", true);
},
//点击了保存按钮
handleSave(row) {
this.$set(row, "$isEdit", false);
}

二、Render函数之Table单元格加入EChart图表

在单元格加入Echarts,首先导入加入echars包

 //使用npm或cnpm下载echarts
cnpm install echarts -D
//在src/main.js文件中引入
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

其次,在定义表格的列时

 {
title: '比例图',
align: 'center',
render: (h, params) => {
return h('div', [
h('canvas', {
style: {
height: '300px',
margin: '0',
padding: '0'
},
on: {},
attrs: {
//给单元格设置ID和类型
id: params.row.pictureType
}
})
])
}
}

再次,在updated函数中使用echarts进行绘制。此处不在mounted方法里使用,因为绘制echarts表格是第二次渲染节点

 updated() {
let self = this
self.pictureData.forEach((value, index) => {
self.paintChart(index, value)
})
}

最后在methods中加入方法paintChart

 //绘制图表
paintChart(i, params) {
if (params.pictureType === '柱形图') {
let chart = this.$echarts.init(document.getElementById(params.pictureType));
  let option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
top: '4%',
left: '1%',
right: '1%',
bottom: '1%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '直接访问',
type: 'bar',
barWidth: '60%',
data: [10, 52, 200, 334, 390, 330, 220]
}
]
};
chart.setOption(option)
}
}
}

IVIEW组件的render方法在Table组件中的使用的更多相关文章

  1. vue.js组件之间通讯--父组件调用子组件的一些方法,子组件暴露一些方法,让父组件调用

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. React.js 小书 Lesson7 - 组件的 render 方法

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson7 转载请注明出处,保留原文链接和作者信息. React.js 中一切皆组件,用 React. ...

  3. 组件的 render 方法

    React.js 中一切皆组件,用 React.js 写的其实就是 React.js 组件.我们在编写 React.js 组件的时候,一般都需要继承 React.js 的 Component(还有别的 ...

  4. iview使用之怎样通过render函数在table组件表头添加图标及判断多个状态

    在实际项目开发中,我们经常会用到各种各样的表格,比如在表格中填加下拉菜单,按钮,图标及可以根据状态显示对应文字等等,因为这段时间一直在做后台管理系统,所以表格用的就比较多,当然UI组件库我用的是ivi ...

  5. 使用js方法将table表格中指定列指定行中相同内容的单元格进行合并操作。

    前言 使用js方法对html中的table表格进行单元格的行列合并操作. 网上执行此操作的实例方法有很多,但根据实际业务的区别,大多不适用. 所以在网上各位大神写的方法的基础上进行了部分修改以适合自己 ...

  6. react 实现在调父render时,子组件会重新更新

    通过给子组件添加不同的key即可,这样在每次父组件执行render方法的时候,发现key不相同,则会重新加载子组件: class Par entend React.PureComponent{ ren ...

  7. React高阶组件 和 Render Props

    高阶组件 本质 本质是函数,将组件作为接收参数,返回一个新的组件.HOC本身不是React API,是一种基于React组合的特而形成的设计模式. 解决的问题(作用) 一句话概括:功能的复用,减少代码 ...

  8. vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法

    (vue.js)vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法”问题疑问,本网通过在网上对“ (vue.js)vue ...

  9. wepy中组件之间通信方法

    events events是WePY组件事件处理函数对象,存放响应组件之间通过broadcast.emit.$invoke所传递的事件的函数. $broadcast —— 父往子传 $broadcas ...

随机推荐

  1. Java学习总结一 数据类型

    @Java300 学习总结 一.Java 基本数据类型分类如下: 整型变量:byte.short.int.long 浮点型变量:float.double 字符型变量:char 布尔型变量:boolea ...

  2. 并不对劲的CF1194E:Count The Rectangles

    题意 有\(n\)(\(n\leq 5000\))个平行于x轴或平行于y轴的线段.求这些线段围成了多少个长方形.由多个长方形拼成的也算. 题解 考虑暴力的做法:先分别计算每条横着的线与哪些竖着的线有交 ...

  3. Tomcat的架构

    Tomcat 7.0---Servlet API 3.0---JSP API 2.2---JDK 1.6 一个Tomcat实例,或者服务器(server),是Tomcat容器层次结构中的顶级组件. 只 ...

  4. TCP协议探究(一):报文格式与连接建立终止

    一 TCP:传输控制协议报文格式 1 TCP服务 提供面向连接.可靠的字节流服务 面向连接意味着两方通信,不支持多播和广播 可靠性的支持: 应用数据被分割成TCP认为最适合发送的数据块.由TCP传递给 ...

  5. MyEclipse中XML的智能提示和关于Spring 配置文件头的一些记录和解释

      一. 首先介绍XML文件的一些知识: <?xml version="1.0" encoding="UTF-8"?><beans xmlns ...

  6. luogu P3773 [CTSC2017]吉夫特

    luogu 这里的组合数显然要用\(\text{lucas}\)定理来求,所以考虑\(\text{lucas}\)定理的本质,即把\(n,m\)分别拆分成\(p\)进制串\(\{a\}\{b\}\), ...

  7. 小程序 ----踩坑 ---安卓iOS兼容等

    关于小程序一些小功能的代码都在这个GitHub上,感兴趣的可以去看看,https://github.com/huihuijiang/miniProgram目前有:列表左滑删除,拖拽浮标 一.小程序坑1 ...

  8. docker第一篇 容器技术入门

    Container 容器是一种基础工具,泛指任何可以容纳其它物品的工具. Linux Namespaces (docker容器技术主要是通过6个隔离技术来实现) namespace    系统调用参数 ...

  9. 使用Eclipse开发Java应用并部署到SAP云平台SCP上去

    1. 首先根据这个链接配置好Eclipse. 确保SAP Cloud Platform Tools for Java正确安装. 确保neo SDK的路径配置正确: 我使用的是下图这个SDK:neo-j ...

  10. SpringCloud之Ribbon负载均衡配置

    一.负载均衡解决方案分类及特征 业界主流的负载均衡解决方案有: 1.1 集中式负载均衡 即在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责 ...