move computed value parentSubmenuNum from .vue to mixin.js
This commit is contained in:
parent
a163daa07a
commit
acba45fed5
3 changed files with 14 additions and 10 deletions
|
@ -3,12 +3,13 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
import { findComponentUpward, findComponentsUpward } from '../../utils/assist';
|
import { findComponentUpward } from '../../utils/assist';
|
||||||
const prefixCls = 'ivu-menu';
|
const prefixCls = 'ivu-menu';
|
||||||
|
import mixin from './mixin';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuItem',
|
name: 'MenuItem',
|
||||||
mixins: [ Emitter ],
|
mixins: [ Emitter, mixin ],
|
||||||
props: {
|
props: {
|
||||||
name: {
|
name: {
|
||||||
type: [String, Number],
|
type: [String, Number],
|
||||||
|
@ -35,9 +36,6 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
parentSubmenuNum () {
|
|
||||||
return findComponentsUpward(this, 'Submenu').length;
|
|
||||||
},
|
|
||||||
itemStyle () {
|
itemStyle () {
|
||||||
return this.hasParentSubmenu ? {
|
return this.hasParentSubmenu ? {
|
||||||
paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'
|
paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'
|
||||||
|
|
8
src/components/menu/mixin.js
Normal file
8
src/components/menu/mixin.js
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
import { findComponentsUpward } from '../../utils/assist';
|
||||||
|
export default {
|
||||||
|
computed: {
|
||||||
|
parentSubmenuNum () {
|
||||||
|
return findComponentsUpward(this, 'Submenu').length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,14 +21,15 @@
|
||||||
import Drop from '../select/dropdown.vue';
|
import Drop from '../select/dropdown.vue';
|
||||||
import Icon from '../icon/icon.vue';
|
import Icon from '../icon/icon.vue';
|
||||||
import CollapseTransition from '../base/collapse-transition';
|
import CollapseTransition from '../base/collapse-transition';
|
||||||
import { getStyle, findComponentUpward, findComponentsUpward, findComponentsDownward } from '../../utils/assist';
|
import { getStyle, findComponentUpward, findComponentsDownward } from '../../utils/assist';
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
|
import mixin from './mixin';
|
||||||
|
|
||||||
const prefixCls = 'ivu-menu';
|
const prefixCls = 'ivu-menu';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Submenu',
|
name: 'Submenu',
|
||||||
mixins: [ Emitter ],
|
mixins: [ Emitter, mixin ],
|
||||||
components: { Icon, Drop, CollapseTransition },
|
components: { Icon, Drop, CollapseTransition },
|
||||||
props: {
|
props: {
|
||||||
name: {
|
name: {
|
||||||
|
@ -77,9 +78,6 @@
|
||||||
hasParentSubmenu () {
|
hasParentSubmenu () {
|
||||||
return findComponentUpward(this, 'Submenu');
|
return findComponentUpward(this, 'Submenu');
|
||||||
},
|
},
|
||||||
parentSubmenuNum () {
|
|
||||||
return findComponentsUpward(this, 'Submenu').length;
|
|
||||||
},
|
|
||||||
titleStyle () {
|
titleStyle () {
|
||||||
return this.hasParentSubmenu ? {
|
return this.hasParentSubmenu ? {
|
||||||
paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'
|
paddingLeft: 43 + (this.parentSubmenuNum - 1) * 24 + 'px'
|
||||||
|
|
Loading…
Add table
Reference in a new issue