IVIEW组件的render方法在Table组件中的使用
后端项目地址: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组件中的使用的更多相关文章
- vue.js组件之间通讯--父组件调用子组件的一些方法,子组件暴露一些方法,让父组件调用
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- React.js 小书 Lesson7 - 组件的 render 方法
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson7 转载请注明出处,保留原文链接和作者信息. React.js 中一切皆组件,用 React. ...
- 组件的 render 方法
React.js 中一切皆组件,用 React.js 写的其实就是 React.js 组件.我们在编写 React.js 组件的时候,一般都需要继承 React.js 的 Component(还有别的 ...
- iview使用之怎样通过render函数在table组件表头添加图标及判断多个状态
在实际项目开发中,我们经常会用到各种各样的表格,比如在表格中填加下拉菜单,按钮,图标及可以根据状态显示对应文字等等,因为这段时间一直在做后台管理系统,所以表格用的就比较多,当然UI组件库我用的是ivi ...
- 使用js方法将table表格中指定列指定行中相同内容的单元格进行合并操作。
前言 使用js方法对html中的table表格进行单元格的行列合并操作. 网上执行此操作的实例方法有很多,但根据实际业务的区别,大多不适用. 所以在网上各位大神写的方法的基础上进行了部分修改以适合自己 ...
- react 实现在调父render时,子组件会重新更新
通过给子组件添加不同的key即可,这样在每次父组件执行render方法的时候,发现key不相同,则会重新加载子组件: class Par entend React.PureComponent{ ren ...
- React高阶组件 和 Render Props
高阶组件 本质 本质是函数,将组件作为接收参数,返回一个新的组件.HOC本身不是React API,是一种基于React组合的特而形成的设计模式. 解决的问题(作用) 一句话概括:功能的复用,减少代码 ...
- vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法
(vue.js)vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法”问题疑问,本网通过在网上对“ (vue.js)vue ...
- wepy中组件之间通信方法
events events是WePY组件事件处理函数对象,存放响应组件之间通过broadcast.emit.$invoke所传递的事件的函数. $broadcast —— 父往子传 $broadcas ...
随机推荐
- 嵌入式linux第一阶段笔记
1.虚拟网络编辑器(vm):三种模式:(VMnet0)桥接模式(vm和windows公用同个网络(同个物理端口)),(VMnet1)仅主机模式,(VMnet8)NAT模式(vm连接一个虚拟的路由(WA ...
- Git详细操作
Git详细操作 一.本地配置 1公钥钥配置 1.参考帮助文档:https://gitee.com/help/ 仓库管理 =公钥管理 =生成/添加SSH公钥 ssh-keygen -t rsa -C & ...
- Div实现水平垂直居中
在实际应用中很多地方不仅要求实现元素的水平居中或者垂直居中效果,还可能会在水平方向和垂直方向上都要实现居中效果,下面就简单介绍几种元素水平垂直居中的方法(注:不同的方法会存在一些优缺点以及兼容性问题) ...
- Oracle 调试存储过程
调试过程对找到一个存过的bug或错误是非常重要的,Oracle作为一款强大的商业数据库,其上面的存过少则10几行,多则上千行,免不了bug的存在,存过上千行的话,找bug也很费力,通过调试可以大大减轻 ...
- SSISDB8:查看SSISDB记录Package执行的消息
在执行Package时,SSISDB都会创建唯一的OperationID 和 ExecutionID,标识对package执行的操作和执行实例(Execution Instance),并记录opera ...
- vue常用知识点
vue中图片路径写法 <img :src="avatorSrc" alt=""> <img :src="avatorSrc2&quo ...
- 【Struts2】简介及入门
一.概述 二.Struts2 快速入门程序 2.1 开发流程比较 2.2 引入依赖 2.2 创建jsp页面 2.3 在web.xml中配置前端控制器 2.4 创建struts.xml配置文件 2.4 ...
- zabbix环境mysql分区表管理历史数据_python实现
zabbix添加数据库表partition zabbix系统自身有housekeeper进程来清除超过保留时间的数据,但是数据量上来之后就会比较影响性能,因此可以使用mysql的表分区来解决这个问题, ...
- php的三个常用判断函数
<?phperror_reporting(E_ERROR);$a;$b = false;$c = '';$d = 0;$e = null;$f = array(); echo 'empty', ...
- 5.安装bacula-web(监控页面)
1. 安装bacula-web(监控页面) 用途:监控bacula状态. http://docs.bacula-web.org/en/master/index.html bacula-web-7. ...