Skip to content

Commit 9ddd3c5

Browse files
authored
Fixed a bug where vue component columns were not rendered. (#189)
* Fixed a bug where vue component columns were not rendered. * fix
1 parent f716e16 commit 9ddd3c5

File tree

3 files changed

+20
-11
lines changed

3 files changed

+20
-11
lines changed

packages/vue-cheetah-grid/lib/c-grid/header-utils.js

+18-9
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,35 @@ export function slotsToHeaderProps (cgridVm, slots) {
1212
}
1313

1414
function getHeaderInstances (cgridVm, slots) {
15-
return slots ? getColumnDefines(cgridVm, slots) : []
15+
return slots ? getColumnDefinesFromVNodes(cgridVm, slots) : []
1616
}
1717

18-
function getColumnDefines (cgridVm, vnodes) {
19-
const results = []
20-
vnodes.forEach(vnode => {
18+
function getColumnDefinesFromVNodes (cgridVm, vnodes) {
19+
return getColumnDefinesFromInstances(cgridVm, vnodes.map(vnode => {
2120
if (!vnode.tag) {
22-
return
21+
return null
2322
}
2423
if (!vnode.componentInstance) {
24+
return null
25+
}
26+
return vnode.componentInstance
27+
}))
28+
}
29+
30+
function getColumnDefinesFromInstances (cgridVm, instances) {
31+
const results = []
32+
instances.forEach(componentInstance => {
33+
if (!componentInstance) {
2534
return
2635
}
27-
if (typeof vnode.componentInstance.createColumn === 'function') {
36+
if (typeof componentInstance.createColumn === 'function') {
2837
const defineColumns = cgridVm.$_CGrid_defineColumns
29-
if (defineColumns.indexOf(vnode.componentInstance) >= 0) {
30-
results.push(vnode.componentInstance)
38+
if (defineColumns.indexOf(componentInstance) >= 0) {
39+
results.push(componentInstance)
3140
return
3241
}
3342
}
34-
results.push(...getColumnDefines(cgridVm, vnode.componentInstance.$children))
43+
results.push(...getColumnDefinesFromInstances(cgridVm, componentInstance.$children))
3544
})
3645

3746
return results

packages/vue-cheetah-grid/package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/vue-cheetah-grid/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-cheetah-grid",
3-
"version": "0.14.0",
3+
"version": "0.14.1",
44
"description": "Cheetah Grid for Vue.js",
55
"main": "dist/vueCheetahGrid.js",
66
"files": [

0 commit comments

Comments
 (0)