Commit fa0241a53510f57866c36d413b50bd301ebef9a9

Authored by 梁灏
1 parent 49d380cf

fixed #212

fixed #212
src/components/menu/submenu.vue
... ... @@ -5,12 +5,20 @@
5 5 <Icon type="ios-arrow-down" :class="[prefixCls + '-submenu-title-icon']"></Icon>
6 6 </div>
7 7 <ul :class="[prefixCls]" v-if="mode === 'vertical'" v-show="opened"><slot></slot></ul>
8   - <Drop v-else v-show="opened" placement="bottom" transition="slide-up" v-ref:drop><slot></slot></Drop>
  8 + <Drop
  9 + v-else
  10 + v-show="opened"
  11 + placement="bottom"
  12 + transition="slide-up"
  13 + v-ref:drop
  14 + :style="dropStyle"><slot></slot></Drop>
9 15 </li>
10 16 </template>
11 17 <script>
12 18 import Drop from '../select/dropdown.vue';
13 19 import Icon from '../icon/icon.vue';
  20 + import { getStyle } from '../../utils/assist';
  21 +
14 22 const prefixCls = 'ivu-menu';
15 23  
16 24 export default {
... ... @@ -30,7 +38,8 @@
30 38 return {
31 39 prefixCls: prefixCls,
32 40 active: false,
33   - opened: false
  41 + opened: false,
  42 + dropWidth: parseFloat(getStyle(this.$el, 'width'))
34 43 };
35 44 },
36 45 computed: {
... ... @@ -49,6 +58,12 @@
49 58 },
50 59 accordion () {
51 60 return this.$parent.accordion;
  61 + },
  62 + dropStyle () {
  63 + let style = {};
  64 +
  65 + if (this.dropWidth) style.minWidth = `${this.dropWidth}px`;
  66 + return style;
52 67 }
53 68 },
54 69 methods: {
... ... @@ -94,6 +109,8 @@
94 109 opened (val) {
95 110 if (this.mode === 'vertical') return;
96 111 if (val) {
  112 + // set drop a width to fixed when menu has fixed position
  113 + this.dropWidth = parseFloat(getStyle(this.$el, 'width'));
97 114 this.$refs.drop.update();
98 115 } else {
99 116 this.$refs.drop.destroy();
... ...
src/components/rate/rate.vue
... ... @@ -43,7 +43,7 @@
43 43 {
44 44 [`${prefixCls}-disabled`]: this.disabled
45 45 }
46   - ]
  46 + ];
47 47 }
48 48 },
49 49 methods: {
... ... @@ -61,9 +61,9 @@
61 61 [`${prefixCls}-star-full`]: full,
62 62 [`${prefixCls}-star-zero`]: !full
63 63 }
64   - ]
  64 + ];
65 65 },
66   - handleMousemove(value, event) {
  66 + handleMousemove(value) {
67 67 if (this.disabled) return;
68 68  
69 69 if (this.allowHalf) {
... ... @@ -91,7 +91,7 @@
91 91 // this.currentValue = this.value;
92 92 this.hoverIndex = -1;
93 93 },
94   - handleClick (value) {
  94 + handleClick () {
95 95  
96 96 }
97 97 }
... ...
test/routers/menu.vue
1 1 <template>
2   - <Menu mode="horizontal" theme="primary" active-key="1">
3   - <Submenu key="1">
4   - <template slot="title">
5   - <Icon type="soup-can-outline"></Icon>
6   - 数据管理
7   - </template>
8   - <Menu-group title="使用">
9   - <Menu-item key="1-1">新增和启动新增和启动</Menu-item>
10   - <Menu-item key="1-2">活跃分析</Menu-item>
11   - <Menu-item key="1-3">时段分析</Menu-item>
12   - </Menu-group>
13   - <Menu-group title="留存">
14   - <Menu-item key="1-4">用户留存</Menu-item>
15   - <Menu-item key="1-5">流失用户</Menu-item>
16   - </Menu-group>
17   - </Submenu>
18   - </Menu>
19   - <br>
20   - <p>切换主题</p>
21   - <Radio-group :model.sync="theme1">
22   - <Radio value="light"></Radio>
23   - <Radio value="dark"></Radio>
24   - <Radio value="primary"></Radio>
25   - </Radio-group>
  2 + <div style="margin: 50px;position:relative;top: 0;left: 0;">
  3 + <Menu mode="horizontal" :theme="theme1" active-key="1">
  4 + <Menu-item key="1">
  5 + <Icon type="ios-paper"></Icon>
  6 + 内容管理
  7 + </Menu-item>
  8 + <Menu-item key="2">
  9 + <Icon type="ios-people"></Icon>
  10 + 用户管理
  11 + </Menu-item>
  12 + <Menu-item key="1">
  13 + <Icon type="ios-paper"></Icon>
  14 + 内容管理
  15 + </Menu-item>
  16 + <Menu-item key="2">
  17 + <Icon type="ios-people"></Icon>
  18 + 用户管理
  19 + </Menu-item>
  20 + <Menu-item key="1">
  21 + <Icon type="ios-paper"></Icon>
  22 + 内容管理
  23 + </Menu-item>
  24 + <Menu-item key="2">
  25 + <Icon type="ios-people"></Icon>
  26 + 用户管理
  27 + </Menu-item>
  28 + <Submenu key="3">
  29 + <template slot="title">
  30 + <Icon type="stats-bars"></Icon>
  31 + 统计分析
  32 + </template>
  33 + <Menu-group title="使用">
  34 + <Menu-item key="3-1">新增和新</Menu-item>
  35 + <Menu-item key="3-2">活跃分析</Menu-item>
  36 + <Menu-item key="3-3">时段分析</Menu-item>
  37 + </Menu-group>
  38 + <Menu-group title="留存">
  39 + <Menu-item key="3-4">用户留存</Menu-item>
  40 + <Menu-item key="3-5">流失用户</Menu-item>
  41 + </Menu-group>
  42 + </Submenu>
  43 + <Menu-item key="4">
  44 + <Icon type="settings"></Icon>
  45 + 综合设置
  46 + </Menu-item>
  47 + </Menu>
  48 + </div>
26 49 </template>
27 50 <script>
28 51 export default {
... ...