diff --git a/packages/menu/src/menu.vue b/packages/menu/src/menu.vue index a54d9dd65..03b86ac03 100644 --- a/packages/menu/src/menu.vue +++ b/packages/menu/src/menu.vue @@ -61,8 +61,13 @@ if (hasClass(el, 'el-menu--collapse')) { removeClass(el, 'el-menu--collapse'); el.dataset.oldOverflow = el.style.overflow; - el.dataset.scrollWidth = el.scrollWidth; + el.dataset.scrollWidth = el.clientWidth; addClass(el, 'el-menu--collapse'); + } else { + addClass(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + removeClass(el, 'el-menu--collapse'); } el.style.width = el.scrollWidth + 'px'; @@ -70,23 +75,8 @@ }, leave(el) { - if (!hasClass(el, 'el-menu--collapse')) { - addClass(el, 'horizontal-collapse-transition'); - el.style.width = '64px'; - } else { - addClass(el, 'horizontal-collapse-transition'); - el.style.width = el.dataset.scrollWidth + 'px'; - } - }, - - afterLeave(el) { - removeClass(el, 'horizontal-collapse-transition'); - if (hasClass(el, 'el-menu--collapse')) { - el.style.width = el.dataset.scrollWidth + 'px'; - } else { - el.style.width = '64px'; - } - el.style.overflow = el.dataset.oldOverflow; + addClass(el, 'horizontal-collapse-transition'); + el.style.width = el.dataset.scrollWidth + 'px'; } } };