From 351528b3e42940f6ee32ed09871d8107fc28d1ea Mon Sep 17 00:00:00 2001 From: Jy <1041207253@qq.com> Date: Sun, 24 Jan 2021 09:34:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(tree-select):=20=E5=88=A0=E9=99=A4=E7=88=B6?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E7=9A=84=E6=9C=80=E5=90=8E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8E=E9=80=89=E4=B8=AD=E4=BA=86?= =?UTF-8?q?=E5=8F=A6=E5=A4=96=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9.=20#3508?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/vc-tree-select/src/util.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/components/vc-tree-select/src/util.js b/components/vc-tree-select/src/util.js index c0d30e884a..7f18f645fe 100644 --- a/components/vc-tree-select/src/util.js +++ b/components/vc-tree-select/src/util.js @@ -162,6 +162,7 @@ export function parseSimpleTreeData(treeData, { id, pId, rootPId }) { /** * Detect if position has relation. * e.g. 1-2 related with 1-2-3 + * e.g. 1-2-3 related with 1-2-4 * e.g. 1-3-2 related with 1 * e.g. 1-2 not related with 1-21 */ @@ -169,7 +170,14 @@ export function isPosRelated(pos1, pos2) { const fields1 = pos1.split('-'); const fields2 = pos2.split('-'); - const minLen = Math.min(fields1.length, fields2.length); + let minLen; + if (fields1.length === fields2.length) { + // e.g. 1-2-3 related with 1-2-4 + minLen = Math.max(fields1.length - 1, 0); + } else { + minLen = Math.min(fields1.length, fields2.length); + } + for (let i = 0; i < minLen; i += 1) { if (fields1[i] !== fields2[i]) { return false;