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>
|
<template>
|
||||||
<Table width="550" border :columns="columns2" :data="data3"></Table>
|
<Table width="550" :content="self" border :columns="columns2" :data="data3"></Table>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
name: 'vvv',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
self: this,
|
||||||
columns2: [
|
columns2: [
|
||||||
{
|
{
|
||||||
title: '姓名',
|
title: '姓名',
|
||||||
|
@ -43,7 +45,7 @@
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 120,
|
width: 120,
|
||||||
render () {
|
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: '朝阳区',
|
city: '朝阳区',
|
||||||
zip: 100000
|
zip: 100000
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: '张小刚',
|
// name: '张小刚',
|
||||||
age: 25,
|
// age: 25,
|
||||||
address: '北京市海淀区西二旗',
|
// address: '北京市海淀区西二旗',
|
||||||
province: '北京市',
|
// province: '北京市',
|
||||||
city: '海淀区',
|
// city: '海淀区',
|
||||||
zip: 100000
|
// zip: 100000
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '李小红',
|
// name: '李小红',
|
||||||
age: 30,
|
// age: 30,
|
||||||
address: '上海市浦东新区世纪大道',
|
// address: '上海市浦东新区世纪大道',
|
||||||
province: '上海市',
|
// province: '上海市',
|
||||||
city: '浦东新区',
|
// city: '浦东新区',
|
||||||
zip: 100000
|
// zip: 100000
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '周小伟',
|
// name: '周小伟',
|
||||||
age: 26,
|
// age: 26,
|
||||||
address: '深圳市南山区深南大道',
|
// address: '深圳市南山区深南大道',
|
||||||
province: '广东',
|
// province: '广东',
|
||||||
city: '南山区',
|
// city: '南山区',
|
||||||
zip: 100000
|
// zip: 100000
|
||||||
}
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick () {
|
||||||
|
console.log(123)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -55,25 +55,17 @@
|
||||||
const _oldParentChildLen = $parent.$children.length;
|
const _oldParentChildLen = $parent.$children.length;
|
||||||
// $parent.$compile(cell); // todo 这里无法触发 ready 钩子
|
// $parent.$compile(cell); // todo 这里无法触发 ready 钩子
|
||||||
const _newParentChildLen = $parent.$children.length;
|
const _newParentChildLen = $parent.$children.length;
|
||||||
|
|
||||||
if (_oldParentChildLen !== _newParentChildLen) { // if render normal html node, do not tag
|
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.uid = $parent.$children[$parent.$children.length - 1]._uid; // tag it, and delete when data or columns update
|
||||||
}
|
}
|
||||||
this.$el.innerHTML = '';
|
this.$el.innerHTML = '';
|
||||||
// this.$el.appendChild(cell);
|
|
||||||
let methods = {};
|
let methods = {};
|
||||||
let $_parent = this.$parent;
|
Object.keys($parent).forEach(key => {
|
||||||
while($_parent != null && $_parent._name != '<Table>'){
|
|
||||||
$_parent = $_parent.$parent;
|
|
||||||
}
|
|
||||||
if ($_parent) {
|
|
||||||
Object.keys($_parent).forEach(key => {
|
|
||||||
const func = this.$parent.$parent.$parent[`${key}`];
|
const func = this.$parent.$parent.$parent[`${key}`];
|
||||||
if(typeof(func) === 'function' &&func.name === 'boundFn'){
|
if(typeof(func) === 'function' &&func.name === 'boundFn'){
|
||||||
methods[`${key}`] = func;
|
methods[`${key}`] = func;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
const res = Vue.compile(cell.outerHTML);
|
const res = Vue.compile(cell.outerHTML);
|
||||||
const compt = new Vue({
|
const compt = new Vue({
|
||||||
render: res.render,
|
render: res.render,
|
||||||
|
|
|
@ -53,7 +53,7 @@ const iview = {
|
||||||
Badge,
|
Badge,
|
||||||
Breadcrumb,
|
Breadcrumb,
|
||||||
BreadcrumbItem: Breadcrumb.Item,
|
BreadcrumbItem: Breadcrumb.Item,
|
||||||
// iButton: Button,
|
iButton: Button,
|
||||||
Button,
|
Button,
|
||||||
ButtonGroup: Button.Group,
|
ButtonGroup: Button.Group,
|
||||||
Card,
|
Card,
|
||||||
|
|
Loading…
Add table
Reference in a new issue