jiku-ui
Version:
A Component Library for Vue.js.
46 lines (45 loc) • 1.19 kB
JavaScript
export default {
inject: ['rootSideMenu'],
computed: {
indexPath() {
const path = [this.index];
let parent = this.$parent;
while (parent.$options.componentName !== 'HnSideMenu') {
if (parent.index) {
path.unshift(parent.index);
}
parent = parent.$parent;
}
return path;
},
parentSideMenu() {
let parent = this.$parent;
while (
parent &&
['HnSideMenu', 'HnSideSubmenu'].indexOf(parent.$options.componentName) === -1
) {
parent = parent.$parent;
}
return parent;
},
paddingStyle() {
let padding = 20;
let parent = this.$parent;
let level = 0;
let indent = 14;
if (this.rootSideMenu.collapse) {
padding = 20;
} else {
while (parent && parent.$options.componentName !== 'HnSideMenu') {
if (parent.$options.componentName === 'HnSideSubmenu') {
level++;
// 一级菜单2倍缩进
padding += (level === 1) ? 2 * indent : indent;
}
parent = parent.$parent;
}
}
return { paddingLeft: padding + 'px' };
}
}
};