From fdd80b204e201c35e89d9e27b6e5aac2f3fa1a8b Mon Sep 17 00:00:00 2001 From: dai <851733175@qq.com> Date: Fri, 1 Jul 2022 14:07:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/cascader.js | 23 +++++- .../modules/communityParty/article/index.vue | 71 ++++++++++++------- src/views/modules/cpts/base/cpts/edit.vue | 58 +++++++++++---- 3 files changed, 112 insertions(+), 40 deletions(-) diff --git a/src/utils/cascader.js b/src/utils/cascader.js index 75992097..3ab33ae0 100644 --- a/src/utils/cascader.js +++ b/src/utils/cascader.js @@ -1,6 +1,3 @@ -/** - * 深度克隆 - */ export function getItemByIdInCascader(arr, vals, idName, childName) { let item = arr.find((v) => v[idName] == vals[0]); if (vals.length > 1) { @@ -17,3 +14,23 @@ export function getItemByIdInCascader(arr, vals, idName, childName) { return [item]; } } + +export function collapse(arr, childName) { + if (arr.length > 0) { + let ret = [...arr]; + arr.forEach((element) => { + let childs = element[childName]; + if (childs && Array.isArray(childs)) { + ret.push(...collapse(childs, childName)); + } + }); + return ret; + } else { + return []; + } +} + +export default { + getItemByIdInCascader, + collapse, +}; diff --git a/src/views/modules/communityParty/article/index.vue b/src/views/modules/communityParty/article/index.vue index 745eca59..8a48672a 100644 --- a/src/views/modules/communityParty/article/index.vue +++ b/src/views/modules/communityParty/article/index.vue @@ -23,7 +23,8 @@