Commit 164f7bcb6ba76d73912ce19738a693e4e1c99c8e

Authored by 梁灏
1 parent 41641403

update Menu

examples/routers/menu.vue
1 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 12 <template slot="title">
5   - <Icon type="ios-analytics"></Icon>
6   - Navigation One
  13 + <Icon type="ios-stats" />
  14 + 统计分析
7 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 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 24 </MenuGroup>
16 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 30 </Menu>
41 31 </template>
42 32 <script>
43 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 45 </script>
... ...
src/components/menu/menu-item.vue
... ... @@ -57,9 +57,11 @@
57 57 handleClickItem (event, new_window = false) {
58 58 if (this.disabled) return;
59 59  
60   - if (new_window) {
  60 + if (new_window || this.target === '_blank') {
61 61 // 如果是 new_window,直接新开窗口就行,无需发送状态
62 62 this.handleCheckClick(event, new_window);
  63 + let parentMenu = findComponentUpward(this, 'Menu');
  64 + if (parentMenu) parentMenu.handleEmitSelectEvent(this.name);
63 65 } else {
64 66 let parent = findComponentUpward(this, 'Submenu');
65 67  
... ...
src/components/menu/menu.vue
... ... @@ -127,6 +127,9 @@
127 127 else item.opened = false;
128 128 });
129 129 }
  130 + },
  131 + handleEmitSelectEvent (name) {
  132 + this.$emit('on-select', name);
130 133 }
131 134 },
132 135 mounted () {
... ...