Commit 164f7bcb6ba76d73912ce19738a693e4e1c99c8e

Authored by 梁灏
1 parent 41641403

update Menu

examples/routers/menu.vue
1 <template> 1 <template>
2 - <Menu active-name="1-2" :open-names="['1']">  
3 - <Submenu name="1"> 2 + <Menu mode="horizontal" :theme="theme1" active-name="3-4" @on-select="hs">
  3 + <MenuItem name="1" to="/button" target="_blank">
  4 + <Icon type="ios-paper" />
  5 + 内容管理
  6 + </MenuItem>
  7 + <MenuItem name="2">
  8 + <Icon type="ios-people" />
  9 + 用户管理
  10 + </MenuItem>
  11 + <Submenu name="3">
4 <template slot="title"> 12 <template slot="title">
5 - <Icon type="ios-analytics"></Icon>  
6 - Navigation One 13 + <Icon type="ios-stats" />
  14 + 统计分析
7 </template> 15 </template>
8 - <MenuGroup title="Item 1">  
9 - <MenuItem name="1-1">我是菜单一</MenuItem>  
10 - <MenuItem name="1-2">我是菜单二</MenuItem> 16 + <MenuGroup title="使用">
  17 + <MenuItem name="3-1">新增和启动</MenuItem>
  18 + <MenuItem name="3-2">活跃分析</MenuItem>
  19 + <MenuItem name="3-3">时段分析</MenuItem>
11 </MenuGroup> 20 </MenuGroup>
12 - <MenuGroup title="Item 2">  
13 - <MenuItem name="1-3">我是菜单三</MenuItem>  
14 - <MenuItem name="1-4">我是菜单四</MenuItem> 21 + <MenuGroup title="留存">
  22 + <MenuItem name="3-4">用户留存</MenuItem>
  23 + <MenuItem name="3-5">流失用户</MenuItem>
15 </MenuGroup> 24 </MenuGroup>
16 </Submenu> 25 </Submenu>
17 - <Submenu name="2">  
18 - <template slot="title">  
19 - <Icon type="ios-filing"></Icon>  
20 - Navigation Two  
21 - </template>  
22 - <MenuItem name="2-1">我是菜单五</MenuItem>  
23 - <MenuItem name="2-2">我是菜单六</MenuItem>  
24 - <Submenu name="3">  
25 - <template slot="title">Submenu</template>  
26 - <MenuItem name="3-1">我是菜单七</MenuItem>  
27 - <MenuItem name="3-2">我是菜单八</MenuItem>  
28 - </Submenu>  
29 - </Submenu>  
30 - <Submenu name="4">  
31 - <template slot="title">  
32 - <Icon type="ios-gear"></Icon>  
33 - Navigation Three  
34 - </template>  
35 - <MenuItem name="4-1">Option 9</MenuItem>  
36 - <MenuItem name="4-2">Option 10</MenuItem>  
37 - <MenuItem name="4-3">Option 11</MenuItem>  
38 - <MenuItem name="4-4">Option 12</MenuItem>  
39 - </Submenu> 26 + <MenuItem name="4">
  27 + <Icon type="ios-construct" />
  28 + 综合设置
  29 + </MenuItem>
40 </Menu> 30 </Menu>
41 </template> 31 </template>
42 <script> 32 <script>
43 export default { 33 export default {
44 - 34 + data () {
  35 + return {
  36 + theme1: 'light'
  37 + }
  38 + },
  39 + methods: {
  40 + hs (n) {
  41 + console.log(n);
  42 + }
  43 + }
45 } 44 }
46 </script> 45 </script>
src/components/menu/menu-item.vue
@@ -57,9 +57,11 @@ @@ -57,9 +57,11 @@
57 handleClickItem (event, new_window = false) { 57 handleClickItem (event, new_window = false) {
58 if (this.disabled) return; 58 if (this.disabled) return;
59 59
60 - if (new_window) { 60 + if (new_window || this.target === '_blank') {
61 // 如果是 new_window,直接新开窗口就行,无需发送状态 61 // 如果是 new_window,直接新开窗口就行,无需发送状态
62 this.handleCheckClick(event, new_window); 62 this.handleCheckClick(event, new_window);
  63 + let parentMenu = findComponentUpward(this, 'Menu');
  64 + if (parentMenu) parentMenu.handleEmitSelectEvent(this.name);
63 } else { 65 } else {
64 let parent = findComponentUpward(this, 'Submenu'); 66 let parent = findComponentUpward(this, 'Submenu');
65 67
src/components/menu/menu.vue
@@ -127,6 +127,9 @@ @@ -127,6 +127,9 @@
127 else item.opened = false; 127 else item.opened = false;
128 }); 128 });
129 } 129 }
  130 + },
  131 + handleEmitSelectEvent (name) {
  132 + this.$emit('on-select', name);
130 } 133 }
131 }, 134 },
132 mounted () { 135 mounted () {