|
@@ -1,19 +1,4 @@
|
|
|
-<template>
|
|
|
- <el-menu-collapse-transition>
|
|
|
- <ul class="el-menu"
|
|
|
- :key="+collapse"
|
|
|
- :style="{ backgroundColor: backgroundColor || '' }"
|
|
|
- :class="{
|
|
|
- 'el-menu--horizontal': mode === 'horizontal',
|
|
|
- 'el-menu--collapse': collapse
|
|
|
- }"
|
|
|
- role="menubar"
|
|
|
- >
|
|
|
- <slot></slot>
|
|
|
- </ul>
|
|
|
- </el-menu-collapse-transition>
|
|
|
-</template>
|
|
|
-<script>
|
|
|
+<script type="text/jsx">
|
|
|
import emitter from 'element-ui/src/mixins/emitter';
|
|
|
import Migrating from 'element-ui/src/mixins/migrating';
|
|
|
import Menubar from 'element-ui/src/utils/menu/aria-menubar';
|
|
@@ -22,6 +7,33 @@
|
|
|
export default {
|
|
|
name: 'ElMenu',
|
|
|
|
|
|
+ render (h) {
|
|
|
+ const component = (
|
|
|
+ <ul
|
|
|
+ role="menubar"
|
|
|
+ key={ +this.collapse }
|
|
|
+ style={{ backgroundColor: this.backgroundColor || '' }}
|
|
|
+ class={{
|
|
|
+ 'el-menu--horizontal': this.mode === 'horizontal',
|
|
|
+ 'el-menu--collapse': this.collapse,
|
|
|
+ "el-menu": true
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ { this.$slots.default }
|
|
|
+ </ul>
|
|
|
+ );
|
|
|
+
|
|
|
+ if (this.collapseTransition) {
|
|
|
+ return (
|
|
|
+ <el-menu-collapse-transition>
|
|
|
+ { component }
|
|
|
+ </el-menu-collapse-transition>
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return component;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
componentName: 'ElMenu',
|
|
|
|
|
|
mixins: [emitter, Migrating],
|
|
@@ -104,7 +116,11 @@
|
|
|
collapse: Boolean,
|
|
|
backgroundColor: String,
|
|
|
textColor: String,
|
|
|
- activeTextColor: String
|
|
|
+ activeTextColor: String,
|
|
|
+ collapseTransition: {
|
|
|
+ type: Boolean,
|
|
|
+ default: true
|
|
|
+ }
|
|
|
},
|
|
|
data() {
|
|
|
return {
|