Menu: close menus on collapse change

pull/6212/merge
Leopoldthecoder 2017-08-01 16:20:27 +08:00 committed by 杨奕
parent 418aef63a4
commit 5137867044
1 changed files with 66 additions and 62 deletions

View File

@ -13,11 +13,24 @@
</el-menu-collapse-transition> </el-menu-collapse-transition>
</template> </template>
<script> <script>
import Vue from 'vue';
import emitter from 'element-ui/src/mixins/emitter'; import emitter from 'element-ui/src/mixins/emitter';
import { addClass, removeClass, hasClass } from 'element-ui/src/utils/dom'; import { addClass, removeClass, hasClass } from 'element-ui/src/utils/dom';
Vue.component('el-menu-collapse-transition', { export default {
name: 'ElMenu',
componentName: 'ElMenu',
mixins: [emitter],
provide() {
return {
rootMenu: this
};
},
components: {
'el-menu-collapse-transition': {
functional: true, functional: true,
render(createElement, context) { render(createElement, context) {
const data = { const data = {
@ -76,19 +89,7 @@
}; };
return createElement('transition', data, context.children); return createElement('transition', data, context.children);
} }
}); }
export default {
name: 'ElMenu',
componentName: 'ElMenu',
mixins: [emitter],
provide() {
return {
rootMenu: this
};
}, },
props: { props: {
@ -134,6 +135,9 @@
}, },
defaultOpeneds(value) { defaultOpeneds(value) {
this.openedMenus = value; this.openedMenus = value;
},
collapse(value) {
if (value) this.openedMenus = [];
} }
}, },
methods: { methods: {