diff --git a/packages/vue/src/grid/src/menu/src/methods.ts b/packages/vue/src/grid/src/menu/src/methods.ts index 632f48ef9..661b76266 100644 --- a/packages/vue/src/grid/src/menu/src/methods.ts +++ b/packages/vue/src/grid/src/menu/src/methods.ts @@ -124,7 +124,10 @@ export default { if (eventTargetNode.flag) { let cell = eventTargetNode.targetElem - let column = this.getColumnNode(cell).item + let column = this.getColumnNode(cell)?.item + if (!column) { + return + } let typePrefix = `${layout}-` Object.assign(eventParams, { cell, column, columnIndex: this.getColumnIndex(column) }) diff --git a/packages/vue/src/grid/src/table/src/methods.ts b/packages/vue/src/grid/src/table/src/methods.ts index 183e7efe2..b4a46ffc6 100644 --- a/packages/vue/src/grid/src/table/src/methods.ts +++ b/packages/vue/src/grid/src/table/src/methods.ts @@ -420,15 +420,15 @@ const Methods = { if (!cell) { return null } - let { isGroup, fullColumnIdData, tableFullColumn } = this - let dataColid = cell.getAttribute('data-colid') + const { isGroup, fullColumnIdData, tableFullColumn } = this + const dataColid = cell.getAttribute('data-colid') + const colCache = fullColumnIdData?.[dataColid] if (isGroup) { let matches = findTree(tableFullColumn, (column) => column.id === dataColid, headerProps) if (matches) { return matches } - } else { - let colCache = fullColumnIdData[dataColid] + } else if (colCache) { return { index: colCache.index, item: colCache.column,