From 7d0f6888efcf793b33fdc53cc85bf7dc1db59d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=BF=9C=E6=88=90?= Date: Fri, 10 Dec 2021 21:39:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E5=A4=9A=E5=B1=82=E7=BA=A7=E6=BF=80?= =?UTF-8?q?=E6=B4=BB=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=88=A4=E6=96=AD?= =?UTF-8?q?bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/accordion/src/accordion-menu.tsx | 20 ++++++++----------- .../devui/accordion/src/accordion.tsx | 2 -- .../docs/components/accordion/index.md | 13 ++++++------ 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/packages/devui-vue/devui/accordion/src/accordion-menu.tsx b/packages/devui-vue/devui/accordion/src/accordion-menu.tsx index 58e5f479..39fd29e1 100644 --- a/packages/devui-vue/devui/accordion/src/accordion-menu.tsx +++ b/packages/devui-vue/devui/accordion/src/accordion-menu.tsx @@ -45,30 +45,26 @@ export default defineComponent({ let deepValue = deepth.value const toggle = (itemEvent: AccordionMenuToggleEvent) => { - if (!itemEvent.open && children.value && children.value.some((i) => i.active)) { - itemEvent.item.active = true - } else { - itemEvent.item.active = null - } accordionCtx.menuToggleFn(itemEvent) } const hasActiveChildren = (item) => { - if(item.active === true) return true - if(item.children) { - return getActive(item.children) + if(item[activeKey.value] === true) return true + if(item[childrenKey.value]) { + return hasChildActive(item[childrenKey.value]) } } - const getActive = (arr) => { + const hasChildActive = (arr) => { let flag = false if(!arr.length) return false for(let i=0;i { - data.value.forEach((item) => (item[activeKey.value] = null)) const prevActiveItem = clickActiveItem activeItemFn(itemEvent.item) emit('itemClick', { ...itemEvent, prevActiveItem: prevActiveItem }) @@ -127,7 +126,6 @@ export default defineComponent({ watch( () => autoOpenActiveMenu.value, (current, preV) => { - console.log('current', current) if (current && preV === false) { cleanOpenData() } diff --git a/packages/devui-vue/docs/components/accordion/index.md b/packages/devui-vue/docs/components/accordion/index.md index 033d726a..6fad9c2b 100644 --- a/packages/devui-vue/docs/components/accordion/index.md +++ b/packages/devui-vue/docs/components/accordion/index.md @@ -17,6 +17,7 @@ :restrictOneOpen="restrictOneOpen" @itemClick="itemClick" @menuToggle="menuToggle" + childrenKey="sub" >