update Table cell render
update Table cell render
This commit is contained in:
parent
486d4fda19
commit
c0b2524da0
3 changed files with 41 additions and 42 deletions
|
@ -1,10 +1,12 @@
|
|||
<template>
|
||||
<Table width="550" border :columns="columns2" :data="data3"></Table>
|
||||
<Table width="550" :content="self" border :columns="columns2" :data="data3"></Table>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'vvv',
|
||||
data () {
|
||||
return {
|
||||
self: this,
|
||||
columns2: [
|
||||
{
|
||||
title: '姓名',
|
||||
|
@ -43,7 +45,7 @@
|
|||
fixed: 'right',
|
||||
width: 120,
|
||||
render () {
|
||||
return `<Button type="text" size="small">查看</Button><Button type="text" size="small">编辑</Button>`;
|
||||
return `<i-button type="text" size="small" @click.native="handleClick">查看</i-button><i-button type="text" size="small">编辑</i-button>`;
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -56,32 +58,37 @@
|
|||
city: '朝阳区',
|
||||
zip: 100000
|
||||
},
|
||||
{
|
||||
name: '张小刚',
|
||||
age: 25,
|
||||
address: '北京市海淀区西二旗',
|
||||
province: '北京市',
|
||||
city: '海淀区',
|
||||
zip: 100000
|
||||
},
|
||||
{
|
||||
name: '李小红',
|
||||
age: 30,
|
||||
address: '上海市浦东新区世纪大道',
|
||||
province: '上海市',
|
||||
city: '浦东新区',
|
||||
zip: 100000
|
||||
},
|
||||
{
|
||||
name: '周小伟',
|
||||
age: 26,
|
||||
address: '深圳市南山区深南大道',
|
||||
province: '广东',
|
||||
city: '南山区',
|
||||
zip: 100000
|
||||
}
|
||||
// {
|
||||
// name: '张小刚',
|
||||
// age: 25,
|
||||
// address: '北京市海淀区西二旗',
|
||||
// province: '北京市',
|
||||
// city: '海淀区',
|
||||
// zip: 100000
|
||||
// },
|
||||
// {
|
||||
// name: '李小红',
|
||||
// age: 30,
|
||||
// address: '上海市浦东新区世纪大道',
|
||||
// province: '上海市',
|
||||
// city: '浦东新区',
|
||||
// zip: 100000
|
||||
// },
|
||||
// {
|
||||
// name: '周小伟',
|
||||
// age: 26,
|
||||
// address: '深圳市南山区深南大道',
|
||||
// province: '广东',
|
||||
// city: '南山区',
|
||||
// zip: 100000
|
||||
// }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClick () {
|
||||
console.log(123)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -53,27 +53,19 @@
|
|||
const cell = document.createElement('div');
|
||||
cell.innerHTML = template;
|
||||
const _oldParentChildLen = $parent.$children.length;
|
||||
// $parent.$compile(cell); // todo 这里无法触发 ready 钩子
|
||||
// $parent.$compile(cell); // todo 这里无法触发 ready 钩子
|
||||
const _newParentChildLen = $parent.$children.length;
|
||||
|
||||
if (_oldParentChildLen !== _newParentChildLen) { // if render normal html node, do not tag
|
||||
this.uid = $parent.$children[$parent.$children.length - 1]._uid; // tag it, and delete when data or columns update
|
||||
}
|
||||
this.$el.innerHTML = '';
|
||||
// this.$el.appendChild(cell);
|
||||
let methods = {};
|
||||
let $_parent = this.$parent;
|
||||
while($_parent != null && $_parent._name != '<Table>'){
|
||||
$_parent = $_parent.$parent;
|
||||
}
|
||||
if ($_parent) {
|
||||
Object.keys($_parent).forEach(key => {
|
||||
const func = this.$parent.$parent.$parent[`${key}`];
|
||||
if(typeof(func) === 'function' &&func.name === 'boundFn'){
|
||||
methods[`${key}`] = func;
|
||||
}
|
||||
});
|
||||
}
|
||||
Object.keys($parent).forEach(key => {
|
||||
const func = this.$parent.$parent.$parent[`${key}`];
|
||||
if(typeof(func) === 'function' &&func.name === 'boundFn'){
|
||||
methods[`${key}`] = func;
|
||||
}
|
||||
});
|
||||
const res = Vue.compile(cell.outerHTML);
|
||||
const compt = new Vue({
|
||||
render: res.render,
|
||||
|
|
|
@ -53,7 +53,7 @@ const iview = {
|
|||
Badge,
|
||||
Breadcrumb,
|
||||
BreadcrumbItem: Breadcrumb.Item,
|
||||
// iButton: Button,
|
||||
iButton: Button,
|
||||
Button,
|
||||
ButtonGroup: Button.Group,
|
||||
Card,
|
||||
|
|
Loading…
Add table
Reference in a new issue