diff --git a/miniapp/pages/index/index.js b/miniapp/pages/index/index.js index 255e6a5..15f82b5 100644 --- a/miniapp/pages/index/index.js +++ b/miniapp/pages/index/index.js @@ -221,6 +221,17 @@ function normalizeColumnIndexArray(indices) { .sort((a, b) => a - b); } +/** + * 将列索引数组转换为布尔映射,供 WXML 直接按下标判断选中态。 + */ +function buildColumnSelectedMap(indices) { + const map = {}; + normalizeColumnIndexArray(indices).forEach((index) => { + map[index] = true; + }); + return map; +} + /** * 统一错误文案: * - xlsx 解析能力缺失时,固定提示用户去“构建 npm” @@ -530,6 +541,8 @@ Page({ sourceDataColumn: null, sourceDescriptionColumns: [], targetDescriptionColumns: [], + sourceDescSelectedMap: {}, + targetDescSelectedMap: {}, sectionVisibleSourceData: true, sectionVisibleSourceDesc: true, sectionVisibleTargetDesc: true, @@ -950,7 +963,9 @@ Page({ tableRows: rows, sourceDataColumn, sourceDescriptionColumns, - targetDescriptionColumns + targetDescriptionColumns, + sourceDescSelectedMap: buildColumnSelectedMap(sourceDescriptionColumns), + targetDescSelectedMap: buildColumnSelectedMap(targetDescriptionColumns) }, () => { this.rebuildSankey(); @@ -982,7 +997,8 @@ Page({ : normalizeColumnIndexArray(current.concat(index)); this.setData( { - sourceDescriptionColumns: next + sourceDescriptionColumns: next, + sourceDescSelectedMap: buildColumnSelectedMap(next) }, () => { this.rebuildSankey(); @@ -1002,7 +1018,8 @@ Page({ : normalizeColumnIndexArray(current.concat(index)); this.setData( { - targetDescriptionColumns: next + targetDescriptionColumns: next, + targetDescSelectedMap: buildColumnSelectedMap(next) }, () => { this.rebuildSankey(); diff --git a/miniapp/pages/index/index.wxml b/miniapp/pages/index/index.wxml index 49c8dcd..1927844 100644 --- a/miniapp/pages/index/index.wxml +++ b/miniapp/pages/index/index.wxml @@ -133,7 +133,7 @@ {{item}} @@ -155,7 +155,7 @@ {{item}}