update Table
update Table
This commit is contained in:
parent
c0b2524da0
commit
87a400d85e
1 changed files with 10 additions and 10 deletions
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="classes">
|
<div :class="classes" ref="cell">
|
||||||
<template v-if="renderType === 'index'">{{naturalIndex + 1}}</template>
|
<template v-if="renderType === 'index'">{{naturalIndex + 1}}</template>
|
||||||
<template v-if="renderType === 'selection'">
|
<template v-if="renderType === 'selection'">
|
||||||
<Checkbox :value="checked" @on-change="toggleSelect" :disabled="disabled"></Checkbox>
|
<Checkbox :value="checked" @on-change="toggleSelect" :disabled="disabled"></Checkbox>
|
||||||
|
@ -52,12 +52,11 @@
|
||||||
const template = this.column.render(this.row, this.column, this.index);
|
const template = this.column.render(this.row, this.column, this.index);
|
||||||
const cell = document.createElement('div');
|
const cell = document.createElement('div');
|
||||||
cell.innerHTML = template;
|
cell.innerHTML = template;
|
||||||
const _oldParentChildLen = $parent.$children.length;
|
// const _oldParentChildLen = $parent.$children.length;
|
||||||
// $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 = '';
|
||||||
let methods = {};
|
let methods = {};
|
||||||
Object.keys($parent).forEach(key => {
|
Object.keys($parent).forEach(key => {
|
||||||
|
@ -67,12 +66,13 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const res = Vue.compile(cell.outerHTML);
|
const res = Vue.compile(cell.outerHTML);
|
||||||
const compt = new Vue({
|
const component = new Vue({
|
||||||
render: res.render,
|
render: res.render,
|
||||||
staticRenderFns: res.staticRenderFns,
|
staticRenderFns: res.staticRenderFns,
|
||||||
methods: methods
|
methods: methods
|
||||||
});
|
});
|
||||||
compt.$mount(this.$el);
|
const Cell = component.$mount();
|
||||||
|
this.$refs.cell.appendChild(Cell.$el);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
destroy () {
|
destroy () {
|
||||||
|
|
Loading…
Add table
Reference in a new issue