From d9bfc45592f729bff809a1460117d164172ceb0f Mon Sep 17 00:00:00 2001 From: Vanessa Date: Tue, 2 Jan 2024 22:53:24 +0800 Subject: [PATCH] :bug: fix https://github.com/siyuan-note/siyuan/issues/10052 --- app/src/protyle/render/av/select.ts | 33 ++++++++++++----------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/app/src/protyle/render/av/select.ts b/app/src/protyle/render/av/select.ts index a5ccef810..fc8528808 100644 --- a/app/src/protyle/render/av/select.ts +++ b/app/src/protyle/render/av/select.ts @@ -427,7 +427,18 @@ export const addColOptionOrCell = (protyle: IProtyle, data: IAV, cellElements: H const nodeElement = hasClosestBlock(cellElements[0]); if (!nodeElement) { cellElements.forEach((item, index) => { - cellElements[index] = blockElement.querySelector(`.av__cell[data-id="${item.dataset.id}"]`) as HTMLElement; + const rowElement = hasClosestByClassName(item, "av__row"); + if (rowElement) { + let cellIndex: number; + rowElement.querySelectorAll(".av__cell").forEach((cellElement: HTMLElement, ghostIndex) => { + if (cellElement.dataset.id === item.dataset.id) { + cellIndex = ghostIndex + } + }); + if (typeof cellIndex === "number") { + cellElements[index] = blockElement.querySelectorAll(`.av__row[data-id="${rowElement.dataset.id}"] .av__cell`)[cellIndex] as HTMLElement; + } + } }); } const colId = cellElements[0].dataset.colId; @@ -545,25 +556,9 @@ export const getSelectHTML = (data: IAVTable, cellElements: HTMLElement[]) => { } }); - let allUniqueOptions: IAVCellSelectValue[] = []; - data.rows.find(row => { - const rowElement = hasClosestByClassName(cellElements[0], "av__row"); - if (rowElement && rowElement.dataset.id === row.id) { - row.cells.find(cell => { - if (cell.id === cellElements[0].dataset.id) { - if (cell.value && cell.value.mSelect) { - allUniqueOptions = cell.value.mSelect; - } - return true; - } - }); - return true; - } - }); - let selectedHTML = ""; - allUniqueOptions.forEach((unique) => { - selectedHTML += `
${unique.content}
`; + genCellValueByElement(colData.type, cellElements[0]).mSelect?.forEach((item) => { + selectedHTML += `
${item.content}
`; }); return `