From ce46b8a06fa3929010c732619a6bf1cdc53391bb Mon Sep 17 00:00:00 2001 From: gimmyhehe <975402925@qq.com> Date: Fri, 19 Apr 2024 09:24:04 +0800 Subject: [PATCH] fix(grid): [grid] fix nested grid context menu error (#1578) --- packages/vue/src/grid/src/menu/src/methods.ts | 5 ++++- packages/vue/src/grid/src/table/src/methods.ts | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) 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,