Commit 67f4d8e76360539969a6d88bd16577684d29471b
1 parent
ab22fd7c
update Menu
update Menu
Showing
4 changed files
with
174 additions
and
174 deletions
Show diff stats
examples/routers/menu.vue
| 1 | -<!--<template>--> | ||
| 2 | - <!--<div>--> | ||
| 3 | - <!--<Menu mode="horizontal" :theme="theme1" active-name="1" @on-select="s">--> | ||
| 4 | - <!--<Menu-item name="1">--> | ||
| 5 | - <!--<Icon type="ios-paper"></Icon>--> | ||
| 6 | - <!--内容管理--> | ||
| 7 | - <!--</Menu-item>--> | ||
| 8 | - <!--<Menu-item name="2">--> | ||
| 9 | - <!--<Icon type="ios-people"></Icon>--> | ||
| 10 | - <!--用户管理--> | ||
| 11 | - <!--</Menu-item>--> | ||
| 12 | - <!--<Submenu name="3">--> | ||
| 13 | - <!--<template slot="title">--> | ||
| 14 | - <!--<Icon type="stats-bars"></Icon>--> | ||
| 15 | - <!--统计分析--> | ||
| 16 | - <!--</template>--> | ||
| 17 | - <!--<Menu-group title="使用">--> | ||
| 18 | - <!--<Menu-item name="3-1">新增和启动</Menu-item>--> | ||
| 19 | - <!--<Menu-item name="3-2">活跃分析</Menu-item>--> | ||
| 20 | - <!--<Menu-item name="3-3">时段分析</Menu-item>--> | ||
| 21 | - <!--</Menu-group>--> | ||
| 22 | - <!--<Menu-group title="留存">--> | ||
| 23 | - <!--<Menu-item name="3-4">用户留存</Menu-item>--> | ||
| 24 | - <!--<Menu-item name="3-5">流失用户</Menu-item>--> | ||
| 25 | - <!--</Menu-group>--> | ||
| 26 | - <!--</Submenu>--> | ||
| 27 | - <!--<Menu-item name="4">--> | ||
| 28 | - <!--<Icon type="settings"></Icon>--> | ||
| 29 | - <!--综合设置--> | ||
| 30 | - <!--</Menu-item>--> | ||
| 31 | - <!--</Menu>--> | ||
| 32 | - <!--<br>--> | ||
| 33 | - <!--<p>切换主题</p>--> | ||
| 34 | - <!--<Radio-group v-model="theme1">--> | ||
| 35 | - <!--<Radio label="light"></Radio>--> | ||
| 36 | - <!--<Radio label="dark"></Radio>--> | ||
| 37 | - <!--<Radio label="primary"></Radio>--> | ||
| 38 | - <!--</Radio-group>--> | ||
| 39 | - <!--</div>--> | ||
| 40 | -<!--</template>--> | ||
| 41 | -<!--<script>--> | ||
| 42 | - <!--export default {--> | ||
| 43 | - <!--data () {--> | ||
| 44 | - <!--return {--> | ||
| 45 | - <!--theme1: 'light'--> | ||
| 46 | - <!--}--> | ||
| 47 | - <!--},--> | ||
| 48 | - <!--methods: {--> | ||
| 49 | - <!--s (s) {--> | ||
| 50 | - <!--console.log(s)--> | ||
| 51 | - <!--}--> | ||
| 52 | - <!--}--> | ||
| 53 | - <!--}--> | ||
| 54 | -<!--</script>--> | ||
| 55 | - | ||
| 56 | - | ||
| 57 | <template> | 1 | <template> |
| 58 | <div> | 2 | <div> |
| 59 | - <Row> | ||
| 60 | - <i-col span="8"> | ||
| 61 | - <Menu :theme="theme2" @on-select="s"> | ||
| 62 | - <Submenu name="1"> | ||
| 63 | - <template slot="title"> | ||
| 64 | - <Icon type="ios-paper"></Icon> | ||
| 65 | - 内容管理 | ||
| 66 | - </template> | ||
| 67 | - <Menu-item name="1-1">文章管理</Menu-item> | ||
| 68 | - <Menu-item name="1-2">评论管理</Menu-item> | ||
| 69 | - <Menu-item name="1-3">举报管理</Menu-item> | ||
| 70 | - </Submenu> | ||
| 71 | - <Submenu name="2"> | ||
| 72 | - <template slot="title"> | ||
| 73 | - <Icon type="ios-people"></Icon> | ||
| 74 | - 用户管理 | ||
| 75 | - </template> | ||
| 76 | - <Menu-item name="2-1">新增用户</Menu-item> | ||
| 77 | - <Menu-item name="2-2">活跃用户</Menu-item> | ||
| 78 | - </Submenu> | ||
| 79 | - <Submenu name="3"> | ||
| 80 | - <template slot="title"> | ||
| 81 | - <Icon type="stats-bars"></Icon> | ||
| 82 | - 统计分析 | ||
| 83 | - </template> | ||
| 84 | - <Menu-group title="使用"> | ||
| 85 | - <Menu-item name="3-1">新增和启动</Menu-item> | ||
| 86 | - <Menu-item name="3-2">活跃分析</Menu-item> | ||
| 87 | - <Menu-item name="3-3">时段分析</Menu-item> | ||
| 88 | - </Menu-group> | ||
| 89 | - <Menu-group title="留存"> | ||
| 90 | - <Menu-item name="3-4">用户留存</Menu-item> | ||
| 91 | - <Menu-item name="3-5">流失用户</Menu-item> | ||
| 92 | - </Menu-group> | ||
| 93 | - </Submenu> | ||
| 94 | - </Menu> | ||
| 95 | - </i-col> | ||
| 96 | - <i-col span="8"> | ||
| 97 | - <Menu :theme="theme2" active-name="1-2" :open-names="['1']" @on-select="s"> | ||
| 98 | - <Submenu name="1"> | ||
| 99 | - <template slot="title"> | ||
| 100 | - <Icon type="ios-paper"></Icon> | ||
| 101 | - 内容管理 | ||
| 102 | - </template> | ||
| 103 | - <Menu-item name="1-1">文章管理</Menu-item> | ||
| 104 | - <Menu-item name="1-2">评论管理</Menu-item> | ||
| 105 | - <Menu-item name="1-3">举报管理</Menu-item> | ||
| 106 | - </Submenu> | ||
| 107 | - <Submenu name="2"> | ||
| 108 | - <template slot="title"> | ||
| 109 | - <Icon type="ios-people"></Icon> | ||
| 110 | - 用户管理 | ||
| 111 | - </template> | ||
| 112 | - <Menu-item name="2-1">新增用户</Menu-item> | ||
| 113 | - <Menu-item name="2-2">活跃用户</Menu-item> | ||
| 114 | - </Submenu> | ||
| 115 | - <Submenu name="3"> | ||
| 116 | - <template slot="title"> | ||
| 117 | - <Icon type="stats-bars"></Icon> | ||
| 118 | - 统计分析 | ||
| 119 | - </template> | ||
| 120 | - <Menu-group title="使用"> | ||
| 121 | - <Menu-item name="3-1">新增和启动</Menu-item> | ||
| 122 | - <Menu-item name="3-2">活跃分析</Menu-item> | ||
| 123 | - <Menu-item name="3-3">时段分析</Menu-item> | ||
| 124 | - </Menu-group> | ||
| 125 | - <Menu-group title="留存"> | ||
| 126 | - <Menu-item name="3-4">用户留存</Menu-item> | ||
| 127 | - <Menu-item name="3-5">流失用户</Menu-item> | ||
| 128 | - </Menu-group> | ||
| 129 | - </Submenu> | ||
| 130 | - </Menu> | ||
| 131 | - </i-col> | ||
| 132 | - <i-col span="8"> | ||
| 133 | - <Menu :theme="theme2" :open-names="['1']" accordion @on-select="s"> | ||
| 134 | - <Submenu name="1"> | ||
| 135 | - <template slot="title"> | ||
| 136 | - <Icon type="ios-paper"></Icon> | ||
| 137 | - 内容管理 | ||
| 138 | - </template> | ||
| 139 | - <Menu-item name="1-1">文章管理</Menu-item> | ||
| 140 | - <Menu-item name="1-2">评论管理</Menu-item> | ||
| 141 | - <Menu-item name="1-3">举报管理</Menu-item> | ||
| 142 | - </Submenu> | ||
| 143 | - <Submenu name="2"> | ||
| 144 | - <template slot="title"> | ||
| 145 | - <Icon type="ios-people"></Icon> | ||
| 146 | - 用户管理 | ||
| 147 | - </template> | ||
| 148 | - <Menu-item name="2-1">新增用户</Menu-item> | ||
| 149 | - <Menu-item name="2-2">活跃用户</Menu-item> | ||
| 150 | - </Submenu> | 3 | + <Menu mode="horizontal" :theme="theme1" active-name="1" @on-select="s"> |
| 4 | + <Row type="flex" justify="center" align="middle"> | ||
| 5 | + <i-col span="12"> | ||
| 6 | + <Menu-item name="1"> | ||
| 7 | + <Icon type="ios-paper"></Icon> | ||
| 8 | + 内容管理 | ||
| 9 | + </Menu-item> | ||
| 10 | + <Menu-item name="2"> | ||
| 11 | + <Icon type="ios-people"></Icon> | ||
| 12 | + 用户管理 | ||
| 13 | + </Menu-item> | ||
| 151 | <Submenu name="3"> | 14 | <Submenu name="3"> |
| 152 | <template slot="title"> | 15 | <template slot="title"> |
| 153 | <Icon type="stats-bars"></Icon> | 16 | <Icon type="stats-bars"></Icon> |
| @@ -163,14 +26,19 @@ | @@ -163,14 +26,19 @@ | ||
| 163 | <Menu-item name="3-5">流失用户</Menu-item> | 26 | <Menu-item name="3-5">流失用户</Menu-item> |
| 164 | </Menu-group> | 27 | </Menu-group> |
| 165 | </Submenu> | 28 | </Submenu> |
| 166 | - </Menu> | ||
| 167 | - </i-col> | ||
| 168 | - </Row> | 29 | + <Menu-item name="4"> |
| 30 | + <Icon type="settings"></Icon> | ||
| 31 | + 综合设置 | ||
| 32 | + </Menu-item> | ||
| 33 | + </i-col> | ||
| 34 | + </Row> | ||
| 35 | + </Menu> | ||
| 169 | <br> | 36 | <br> |
| 170 | <p>切换主题</p> | 37 | <p>切换主题</p> |
| 171 | - <Radio-group v-model="theme2"> | 38 | + <Radio-group v-model="theme1"> |
| 172 | <Radio label="light"></Radio> | 39 | <Radio label="light"></Radio> |
| 173 | <Radio label="dark"></Radio> | 40 | <Radio label="dark"></Radio> |
| 41 | + <Radio label="primary"></Radio> | ||
| 174 | </Radio-group> | 42 | </Radio-group> |
| 175 | </div> | 43 | </div> |
| 176 | </template> | 44 | </template> |
| @@ -178,13 +46,149 @@ | @@ -178,13 +46,149 @@ | ||
| 178 | export default { | 46 | export default { |
| 179 | data () { | 47 | data () { |
| 180 | return { | 48 | return { |
| 181 | - theme2: 'light' | 49 | + theme1: 'light' |
| 182 | } | 50 | } |
| 183 | }, | 51 | }, |
| 184 | methods: { | 52 | methods: { |
| 185 | s (s) { | 53 | s (s) { |
| 186 | - console.log(s); | 54 | + console.log(s) |
| 187 | } | 55 | } |
| 188 | } | 56 | } |
| 189 | } | 57 | } |
| 190 | </script> | 58 | </script> |
| 59 | + | ||
| 60 | + | ||
| 61 | +<!--<template>--> | ||
| 62 | + <!--<div>--> | ||
| 63 | + <!--<Row>--> | ||
| 64 | + <!--<i-col span="8">--> | ||
| 65 | + <!--<Menu :theme="theme2" @on-select="s">--> | ||
| 66 | + <!--<Submenu name="1">--> | ||
| 67 | + <!--<template slot="title">--> | ||
| 68 | + <!--<Icon type="ios-paper"></Icon>--> | ||
| 69 | + <!--内容管理--> | ||
| 70 | + <!--</template>--> | ||
| 71 | + <!--<Menu-item name="1-1">文章管理</Menu-item>--> | ||
| 72 | + <!--<Menu-item name="1-2">评论管理</Menu-item>--> | ||
| 73 | + <!--<Menu-item name="1-3">举报管理</Menu-item>--> | ||
| 74 | + <!--</Submenu>--> | ||
| 75 | + <!--<Submenu name="2">--> | ||
| 76 | + <!--<template slot="title">--> | ||
| 77 | + <!--<Icon type="ios-people"></Icon>--> | ||
| 78 | + <!--用户管理--> | ||
| 79 | + <!--</template>--> | ||
| 80 | + <!--<Menu-item name="2-1">新增用户</Menu-item>--> | ||
| 81 | + <!--<Menu-item name="2-2">活跃用户</Menu-item>--> | ||
| 82 | + <!--</Submenu>--> | ||
| 83 | + <!--<Submenu name="3">--> | ||
| 84 | + <!--<template slot="title">--> | ||
| 85 | + <!--<Icon type="stats-bars"></Icon>--> | ||
| 86 | + <!--统计分析--> | ||
| 87 | + <!--</template>--> | ||
| 88 | + <!--<Menu-group title="使用">--> | ||
| 89 | + <!--<Menu-item name="3-1">新增和启动</Menu-item>--> | ||
| 90 | + <!--<Menu-item name="3-2">活跃分析</Menu-item>--> | ||
| 91 | + <!--<Menu-item name="3-3">时段分析</Menu-item>--> | ||
| 92 | + <!--</Menu-group>--> | ||
| 93 | + <!--<Menu-group title="留存">--> | ||
| 94 | + <!--<Menu-item name="3-4">用户留存</Menu-item>--> | ||
| 95 | + <!--<Menu-item name="3-5">流失用户</Menu-item>--> | ||
| 96 | + <!--</Menu-group>--> | ||
| 97 | + <!--</Submenu>--> | ||
| 98 | + <!--</Menu>--> | ||
| 99 | + <!--</i-col>--> | ||
| 100 | + <!--<i-col span="8">--> | ||
| 101 | + <!--<Menu :theme="theme2" active-name="1-2" :open-names="['1']" @on-select="s">--> | ||
| 102 | + <!--<Submenu name="1">--> | ||
| 103 | + <!--<template slot="title">--> | ||
| 104 | + <!--<Icon type="ios-paper"></Icon>--> | ||
| 105 | + <!--内容管理--> | ||
| 106 | + <!--</template>--> | ||
| 107 | + <!--<Menu-item name="1-1">文章管理</Menu-item>--> | ||
| 108 | + <!--<Menu-item name="1-2">评论管理</Menu-item>--> | ||
| 109 | + <!--<Menu-item name="1-3">举报管理</Menu-item>--> | ||
| 110 | + <!--</Submenu>--> | ||
| 111 | + <!--<Submenu name="2">--> | ||
| 112 | + <!--<template slot="title">--> | ||
| 113 | + <!--<Icon type="ios-people"></Icon>--> | ||
| 114 | + <!--用户管理--> | ||
| 115 | + <!--</template>--> | ||
| 116 | + <!--<Menu-item name="2-1">新增用户</Menu-item>--> | ||
| 117 | + <!--<Menu-item name="2-2">活跃用户</Menu-item>--> | ||
| 118 | + <!--</Submenu>--> | ||
| 119 | + <!--<Submenu name="3">--> | ||
| 120 | + <!--<template slot="title">--> | ||
| 121 | + <!--<Icon type="stats-bars"></Icon>--> | ||
| 122 | + <!--统计分析--> | ||
| 123 | + <!--</template>--> | ||
| 124 | + <!--<Menu-group title="使用">--> | ||
| 125 | + <!--<Menu-item name="3-1">新增和启动</Menu-item>--> | ||
| 126 | + <!--<Menu-item name="3-2">活跃分析</Menu-item>--> | ||
| 127 | + <!--<Menu-item name="3-3">时段分析</Menu-item>--> | ||
| 128 | + <!--</Menu-group>--> | ||
| 129 | + <!--<Menu-group title="留存">--> | ||
| 130 | + <!--<Menu-item name="3-4">用户留存</Menu-item>--> | ||
| 131 | + <!--<Menu-item name="3-5">流失用户</Menu-item>--> | ||
| 132 | + <!--</Menu-group>--> | ||
| 133 | + <!--</Submenu>--> | ||
| 134 | + <!--</Menu>--> | ||
| 135 | + <!--</i-col>--> | ||
| 136 | + <!--<i-col span="8">--> | ||
| 137 | + <!--<Menu :theme="theme2" :open-names="['1']" accordion @on-select="s">--> | ||
| 138 | + <!--<Submenu name="1">--> | ||
| 139 | + <!--<template slot="title">--> | ||
| 140 | + <!--<Icon type="ios-paper"></Icon>--> | ||
| 141 | + <!--内容管理--> | ||
| 142 | + <!--</template>--> | ||
| 143 | + <!--<Menu-item name="1-1">文章管理</Menu-item>--> | ||
| 144 | + <!--<Menu-item name="1-2">评论管理</Menu-item>--> | ||
| 145 | + <!--<Menu-item name="1-3">举报管理</Menu-item>--> | ||
| 146 | + <!--</Submenu>--> | ||
| 147 | + <!--<Submenu name="2">--> | ||
| 148 | + <!--<template slot="title">--> | ||
| 149 | + <!--<Icon type="ios-people"></Icon>--> | ||
| 150 | + <!--用户管理--> | ||
| 151 | + <!--</template>--> | ||
| 152 | + <!--<Menu-item name="2-1">新增用户</Menu-item>--> | ||
| 153 | + <!--<Menu-item name="2-2">活跃用户</Menu-item>--> | ||
| 154 | + <!--</Submenu>--> | ||
| 155 | + <!--<Submenu name="3">--> | ||
| 156 | + <!--<template slot="title">--> | ||
| 157 | + <!--<Icon type="stats-bars"></Icon>--> | ||
| 158 | + <!--统计分析--> | ||
| 159 | + <!--</template>--> | ||
| 160 | + <!--<Menu-group title="使用">--> | ||
| 161 | + <!--<Menu-item name="3-1">新增和启动</Menu-item>--> | ||
| 162 | + <!--<Menu-item name="3-2">活跃分析</Menu-item>--> | ||
| 163 | + <!--<Menu-item name="3-3">时段分析</Menu-item>--> | ||
| 164 | + <!--</Menu-group>--> | ||
| 165 | + <!--<Menu-group title="留存">--> | ||
| 166 | + <!--<Menu-item name="3-4">用户留存</Menu-item>--> | ||
| 167 | + <!--<Menu-item name="3-5">流失用户</Menu-item>--> | ||
| 168 | + <!--</Menu-group>--> | ||
| 169 | + <!--</Submenu>--> | ||
| 170 | + <!--</Menu>--> | ||
| 171 | + <!--</i-col>--> | ||
| 172 | + <!--</Row>--> | ||
| 173 | + <!--<br>--> | ||
| 174 | + <!--<p>切换主题</p>--> | ||
| 175 | + <!--<Radio-group v-model="theme2">--> | ||
| 176 | + <!--<Radio label="light"></Radio>--> | ||
| 177 | + <!--<Radio label="dark"></Radio>--> | ||
| 178 | + <!--</Radio-group>--> | ||
| 179 | + <!--</div>--> | ||
| 180 | +<!--</template>--> | ||
| 181 | +<!--<script>--> | ||
| 182 | + <!--export default {--> | ||
| 183 | + <!--data () {--> | ||
| 184 | + <!--return {--> | ||
| 185 | + <!--theme2: 'light'--> | ||
| 186 | + <!--}--> | ||
| 187 | + <!--},--> | ||
| 188 | + <!--methods: {--> | ||
| 189 | + <!--s (s) {--> | ||
| 190 | + <!--console.log(s);--> | ||
| 191 | + <!--}--> | ||
| 192 | + <!--}--> | ||
| 193 | + <!--}--> | ||
| 194 | +<!--</script>--> |
src/components/menu/menu.vue
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 2 | <ul :class="classes" :style="styles"><slot></slot></ul> | 2 | <ul :class="classes" :style="styles"><slot></slot></ul> |
| 3 | </template> | 3 | </template> |
| 4 | <script> | 4 | <script> |
| 5 | - import { oneOf } from '../../utils/assist'; | 5 | + import { oneOf, findComponentsDownward } from '../../utils/assist'; |
| 6 | import Emitter from '../../mixins/emitter'; | 6 | import Emitter from '../../mixins/emitter'; |
| 7 | 7 | ||
| 8 | const prefixCls = 'ivu-menu'; | 8 | const prefixCls = 'ivu-menu'; |
| @@ -84,11 +84,13 @@ | @@ -84,11 +84,13 @@ | ||
| 84 | } | 84 | } |
| 85 | }, | 85 | }, |
| 86 | updateOpened () { | 86 | updateOpened () { |
| 87 | - this.$children.forEach(item => { | ||
| 88 | - if (item.$options.name === 'Submenu') { | 87 | + const items = findComponentsDownward(this, 'Submenu'); |
| 88 | + | ||
| 89 | + if (items.length) { | ||
| 90 | + items.forEach(item => { | ||
| 89 | if (this.openNames.indexOf(item.name) > -1) item.opened = true; | 91 | if (this.openNames.indexOf(item.name) > -1) item.opened = true; |
| 90 | - } | ||
| 91 | - }); | 92 | + }); |
| 93 | + } | ||
| 92 | } | 94 | } |
| 93 | }, | 95 | }, |
| 94 | mounted () { | 96 | mounted () { |
src/components/menu/submenu.vue
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | <script> | 17 | <script> |
| 18 | import Drop from '../select/dropdown.vue'; | 18 | import Drop from '../select/dropdown.vue'; |
| 19 | import Icon from '../icon/icon.vue'; | 19 | import Icon from '../icon/icon.vue'; |
| 20 | - import { getStyle } from '../../utils/assist'; | 20 | + import { getStyle, findComponentUpward } from '../../utils/assist'; |
| 21 | import Emitter from '../../mixins/emitter'; | 21 | import Emitter from '../../mixins/emitter'; |
| 22 | 22 | ||
| 23 | const prefixCls = 'ivu-menu'; | 23 | const prefixCls = 'ivu-menu'; |
| @@ -41,7 +41,8 @@ | @@ -41,7 +41,8 @@ | ||
| 41 | prefixCls: prefixCls, | 41 | prefixCls: prefixCls, |
| 42 | active: false, | 42 | active: false, |
| 43 | opened: false, | 43 | opened: false, |
| 44 | - dropWidth: parseFloat(getStyle(this.$el, 'width')) | 44 | + dropWidth: parseFloat(getStyle(this.$el, 'width')), |
| 45 | + parent: findComponentUpward(this, 'Menu') | ||
| 45 | }; | 46 | }; |
| 46 | }, | 47 | }, |
| 47 | computed: { | 48 | computed: { |
| @@ -56,12 +57,10 @@ | @@ -56,12 +57,10 @@ | ||
| 56 | ]; | 57 | ]; |
| 57 | }, | 58 | }, |
| 58 | mode () { | 59 | mode () { |
| 59 | - // todo while | ||
| 60 | - return this.$parent.mode; | 60 | + return this.parent.mode; |
| 61 | }, | 61 | }, |
| 62 | accordion () { | 62 | accordion () { |
| 63 | - // todo while | ||
| 64 | - return this.$parent.accordion; | 63 | + return this.parent.accordion; |
| 65 | }, | 64 | }, |
| 66 | dropStyle () { | 65 | dropStyle () { |
| 67 | let style = {}; | 66 | let style = {}; |
| @@ -77,8 +76,7 @@ | @@ -77,8 +76,7 @@ | ||
| 77 | 76 | ||
| 78 | clearTimeout(this.timeout); | 77 | clearTimeout(this.timeout); |
| 79 | this.timeout = setTimeout(() => { | 78 | this.timeout = setTimeout(() => { |
| 80 | - // todo while | ||
| 81 | - this.$parent.updateOpenKeys(this.name); | 79 | + this.parent.updateOpenKeys(this.name); |
| 82 | this.opened = true; | 80 | this.opened = true; |
| 83 | }, 250); | 81 | }, 250); |
| 84 | }, | 82 | }, |
| @@ -88,8 +86,7 @@ | @@ -88,8 +86,7 @@ | ||
| 88 | 86 | ||
| 89 | clearTimeout(this.timeout); | 87 | clearTimeout(this.timeout); |
| 90 | this.timeout = setTimeout(() => { | 88 | this.timeout = setTimeout(() => { |
| 91 | - // todo while | ||
| 92 | - this.$parent.updateOpenKeys(this.name); | 89 | + this.parent.updateOpenKeys(this.name); |
| 93 | this.opened = false; | 90 | this.opened = false; |
| 94 | }, 150); | 91 | }, 150); |
| 95 | }, | 92 | }, |
| @@ -98,14 +95,12 @@ | @@ -98,14 +95,12 @@ | ||
| 98 | if (this.mode === 'horizontal') return; | 95 | if (this.mode === 'horizontal') return; |
| 99 | const opened = this.opened; | 96 | const opened = this.opened; |
| 100 | if (this.accordion) { | 97 | if (this.accordion) { |
| 101 | - // todo while | ||
| 102 | - this.$parent.$children.forEach(item => { | 98 | + this.parent.$children.forEach(item => { |
| 103 | if (item.$options.name === 'Submenu') item.opened = false; | 99 | if (item.$options.name === 'Submenu') item.opened = false; |
| 104 | }); | 100 | }); |
| 105 | } | 101 | } |
| 106 | this.opened = !opened; | 102 | this.opened = !opened; |
| 107 | - // todo while | ||
| 108 | - this.$parent.updateOpenKeys(this.name); | 103 | + this.parent.updateOpenKeys(this.name); |
| 109 | } | 104 | } |
| 110 | }, | 105 | }, |
| 111 | watch: { | 106 | watch: { |
src/components/radio/radio.vue
| @@ -68,7 +68,6 @@ | @@ -68,7 +68,6 @@ | ||
| 68 | } | 68 | } |
| 69 | }, | 69 | }, |
| 70 | mounted () { | 70 | mounted () { |
| 71 | - this.parent = findComponentUpward(this, 'RadioGroup'); | ||
| 72 | if (this.parent) this.group = true; | 71 | if (this.parent) this.group = true; |
| 73 | if (!this.group) { | 72 | if (!this.group) { |
| 74 | this.updateValue(); | 73 | this.updateValue(); |