update Menu
update Menu
This commit is contained in:
parent
ab22fd7c52
commit
67f4d8e763
4 changed files with 174 additions and 174 deletions
|
@ -1,14 +1,85 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<Menu mode="horizontal" :theme="theme1" active-name="1" @on-select="s">
|
||||||
|
<Row type="flex" justify="center" align="middle">
|
||||||
|
<i-col span="12">
|
||||||
|
<Menu-item name="1">
|
||||||
|
<Icon type="ios-paper"></Icon>
|
||||||
|
内容管理
|
||||||
|
</Menu-item>
|
||||||
|
<Menu-item name="2">
|
||||||
|
<Icon type="ios-people"></Icon>
|
||||||
|
用户管理
|
||||||
|
</Menu-item>
|
||||||
|
<Submenu name="3">
|
||||||
|
<template slot="title">
|
||||||
|
<Icon type="stats-bars"></Icon>
|
||||||
|
统计分析
|
||||||
|
</template>
|
||||||
|
<Menu-group title="使用">
|
||||||
|
<Menu-item name="3-1">新增和启动</Menu-item>
|
||||||
|
<Menu-item name="3-2">活跃分析</Menu-item>
|
||||||
|
<Menu-item name="3-3">时段分析</Menu-item>
|
||||||
|
</Menu-group>
|
||||||
|
<Menu-group title="留存">
|
||||||
|
<Menu-item name="3-4">用户留存</Menu-item>
|
||||||
|
<Menu-item name="3-5">流失用户</Menu-item>
|
||||||
|
</Menu-group>
|
||||||
|
</Submenu>
|
||||||
|
<Menu-item name="4">
|
||||||
|
<Icon type="settings"></Icon>
|
||||||
|
综合设置
|
||||||
|
</Menu-item>
|
||||||
|
</i-col>
|
||||||
|
</Row>
|
||||||
|
</Menu>
|
||||||
|
<br>
|
||||||
|
<p>切换主题</p>
|
||||||
|
<Radio-group v-model="theme1">
|
||||||
|
<Radio label="light"></Radio>
|
||||||
|
<Radio label="dark"></Radio>
|
||||||
|
<Radio label="primary"></Radio>
|
||||||
|
</Radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
theme1: 'light'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
s (s) {
|
||||||
|
console.log(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<!--<template>-->
|
<!--<template>-->
|
||||||
<!--<div>-->
|
<!--<div>-->
|
||||||
<!--<Menu mode="horizontal" :theme="theme1" active-name="1" @on-select="s">-->
|
<!--<Row>-->
|
||||||
<!--<Menu-item name="1">-->
|
<!--<i-col span="8">-->
|
||||||
|
<!--<Menu :theme="theme2" @on-select="s">-->
|
||||||
|
<!--<Submenu name="1">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
<!--<Icon type="ios-paper"></Icon>-->
|
<!--<Icon type="ios-paper"></Icon>-->
|
||||||
<!--内容管理-->
|
<!--内容管理-->
|
||||||
<!--</Menu-item>-->
|
<!--</template>-->
|
||||||
<!--<Menu-item name="2">-->
|
<!--<Menu-item name="1-1">文章管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-2">评论管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-3">举报管理</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--<Submenu name="2">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
<!--<Icon type="ios-people"></Icon>-->
|
<!--<Icon type="ios-people"></Icon>-->
|
||||||
<!--用户管理-->
|
<!--用户管理-->
|
||||||
<!--</Menu-item>-->
|
<!--</template>-->
|
||||||
|
<!--<Menu-item name="2-1">新增用户</Menu-item>-->
|
||||||
|
<!--<Menu-item name="2-2">活跃用户</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
<!--<Submenu name="3">-->
|
<!--<Submenu name="3">-->
|
||||||
<!--<template slot="title">-->
|
<!--<template slot="title">-->
|
||||||
<!--<Icon type="stats-bars"></Icon>-->
|
<!--<Icon type="stats-bars"></Icon>-->
|
||||||
|
@ -24,17 +95,86 @@
|
||||||
<!--<Menu-item name="3-5">流失用户</Menu-item>-->
|
<!--<Menu-item name="3-5">流失用户</Menu-item>-->
|
||||||
<!--</Menu-group>-->
|
<!--</Menu-group>-->
|
||||||
<!--</Submenu>-->
|
<!--</Submenu>-->
|
||||||
<!--<Menu-item name="4">-->
|
|
||||||
<!--<Icon type="settings"></Icon>-->
|
|
||||||
<!--综合设置-->
|
|
||||||
<!--</Menu-item>-->
|
|
||||||
<!--</Menu>-->
|
<!--</Menu>-->
|
||||||
|
<!--</i-col>-->
|
||||||
|
<!--<i-col span="8">-->
|
||||||
|
<!--<Menu :theme="theme2" active-name="1-2" :open-names="['1']" @on-select="s">-->
|
||||||
|
<!--<Submenu name="1">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="ios-paper"></Icon>-->
|
||||||
|
<!--内容管理-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-item name="1-1">文章管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-2">评论管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-3">举报管理</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--<Submenu name="2">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="ios-people"></Icon>-->
|
||||||
|
<!--用户管理-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-item name="2-1">新增用户</Menu-item>-->
|
||||||
|
<!--<Menu-item name="2-2">活跃用户</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--<Submenu name="3">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="stats-bars"></Icon>-->
|
||||||
|
<!--统计分析-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-group title="使用">-->
|
||||||
|
<!--<Menu-item name="3-1">新增和启动</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-2">活跃分析</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-3">时段分析</Menu-item>-->
|
||||||
|
<!--</Menu-group>-->
|
||||||
|
<!--<Menu-group title="留存">-->
|
||||||
|
<!--<Menu-item name="3-4">用户留存</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-5">流失用户</Menu-item>-->
|
||||||
|
<!--</Menu-group>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--</Menu>-->
|
||||||
|
<!--</i-col>-->
|
||||||
|
<!--<i-col span="8">-->
|
||||||
|
<!--<Menu :theme="theme2" :open-names="['1']" accordion @on-select="s">-->
|
||||||
|
<!--<Submenu name="1">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="ios-paper"></Icon>-->
|
||||||
|
<!--内容管理-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-item name="1-1">文章管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-2">评论管理</Menu-item>-->
|
||||||
|
<!--<Menu-item name="1-3">举报管理</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--<Submenu name="2">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="ios-people"></Icon>-->
|
||||||
|
<!--用户管理-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-item name="2-1">新增用户</Menu-item>-->
|
||||||
|
<!--<Menu-item name="2-2">活跃用户</Menu-item>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--<Submenu name="3">-->
|
||||||
|
<!--<template slot="title">-->
|
||||||
|
<!--<Icon type="stats-bars"></Icon>-->
|
||||||
|
<!--统计分析-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--<Menu-group title="使用">-->
|
||||||
|
<!--<Menu-item name="3-1">新增和启动</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-2">活跃分析</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-3">时段分析</Menu-item>-->
|
||||||
|
<!--</Menu-group>-->
|
||||||
|
<!--<Menu-group title="留存">-->
|
||||||
|
<!--<Menu-item name="3-4">用户留存</Menu-item>-->
|
||||||
|
<!--<Menu-item name="3-5">流失用户</Menu-item>-->
|
||||||
|
<!--</Menu-group>-->
|
||||||
|
<!--</Submenu>-->
|
||||||
|
<!--</Menu>-->
|
||||||
|
<!--</i-col>-->
|
||||||
|
<!--</Row>-->
|
||||||
<!--<br>-->
|
<!--<br>-->
|
||||||
<!--<p>切换主题</p>-->
|
<!--<p>切换主题</p>-->
|
||||||
<!--<Radio-group v-model="theme1">-->
|
<!--<Radio-group v-model="theme2">-->
|
||||||
<!--<Radio label="light"></Radio>-->
|
<!--<Radio label="light"></Radio>-->
|
||||||
<!--<Radio label="dark"></Radio>-->
|
<!--<Radio label="dark"></Radio>-->
|
||||||
<!--<Radio label="primary"></Radio>-->
|
|
||||||
<!--</Radio-group>-->
|
<!--</Radio-group>-->
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
<!--</template>-->
|
<!--</template>-->
|
||||||
|
@ -42,149 +182,13 @@
|
||||||
<!--export default {-->
|
<!--export default {-->
|
||||||
<!--data () {-->
|
<!--data () {-->
|
||||||
<!--return {-->
|
<!--return {-->
|
||||||
<!--theme1: 'light'-->
|
<!--theme2: 'light'-->
|
||||||
<!--}-->
|
<!--}-->
|
||||||
<!--},-->
|
<!--},-->
|
||||||
<!--methods: {-->
|
<!--methods: {-->
|
||||||
<!--s (s) {-->
|
<!--s (s) {-->
|
||||||
<!--console.log(s)-->
|
<!--console.log(s);-->
|
||||||
<!--}-->
|
<!--}-->
|
||||||
<!--}-->
|
<!--}-->
|
||||||
<!--}-->
|
<!--}-->
|
||||||
<!--</script>-->
|
<!--</script>-->
|
||||||
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<Row>
|
|
||||||
<i-col span="8">
|
|
||||||
<Menu :theme="theme2" @on-select="s">
|
|
||||||
<Submenu name="1">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-paper"></Icon>
|
|
||||||
内容管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="1-1">文章管理</Menu-item>
|
|
||||||
<Menu-item name="1-2">评论管理</Menu-item>
|
|
||||||
<Menu-item name="1-3">举报管理</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="2">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-people"></Icon>
|
|
||||||
用户管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="2-1">新增用户</Menu-item>
|
|
||||||
<Menu-item name="2-2">活跃用户</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="3">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="stats-bars"></Icon>
|
|
||||||
统计分析
|
|
||||||
</template>
|
|
||||||
<Menu-group title="使用">
|
|
||||||
<Menu-item name="3-1">新增和启动</Menu-item>
|
|
||||||
<Menu-item name="3-2">活跃分析</Menu-item>
|
|
||||||
<Menu-item name="3-3">时段分析</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
<Menu-group title="留存">
|
|
||||||
<Menu-item name="3-4">用户留存</Menu-item>
|
|
||||||
<Menu-item name="3-5">流失用户</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
</Submenu>
|
|
||||||
</Menu>
|
|
||||||
</i-col>
|
|
||||||
<i-col span="8">
|
|
||||||
<Menu :theme="theme2" active-name="1-2" :open-names="['1']" @on-select="s">
|
|
||||||
<Submenu name="1">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-paper"></Icon>
|
|
||||||
内容管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="1-1">文章管理</Menu-item>
|
|
||||||
<Menu-item name="1-2">评论管理</Menu-item>
|
|
||||||
<Menu-item name="1-3">举报管理</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="2">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-people"></Icon>
|
|
||||||
用户管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="2-1">新增用户</Menu-item>
|
|
||||||
<Menu-item name="2-2">活跃用户</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="3">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="stats-bars"></Icon>
|
|
||||||
统计分析
|
|
||||||
</template>
|
|
||||||
<Menu-group title="使用">
|
|
||||||
<Menu-item name="3-1">新增和启动</Menu-item>
|
|
||||||
<Menu-item name="3-2">活跃分析</Menu-item>
|
|
||||||
<Menu-item name="3-3">时段分析</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
<Menu-group title="留存">
|
|
||||||
<Menu-item name="3-4">用户留存</Menu-item>
|
|
||||||
<Menu-item name="3-5">流失用户</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
</Submenu>
|
|
||||||
</Menu>
|
|
||||||
</i-col>
|
|
||||||
<i-col span="8">
|
|
||||||
<Menu :theme="theme2" :open-names="['1']" accordion @on-select="s">
|
|
||||||
<Submenu name="1">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-paper"></Icon>
|
|
||||||
内容管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="1-1">文章管理</Menu-item>
|
|
||||||
<Menu-item name="1-2">评论管理</Menu-item>
|
|
||||||
<Menu-item name="1-3">举报管理</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="2">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="ios-people"></Icon>
|
|
||||||
用户管理
|
|
||||||
</template>
|
|
||||||
<Menu-item name="2-1">新增用户</Menu-item>
|
|
||||||
<Menu-item name="2-2">活跃用户</Menu-item>
|
|
||||||
</Submenu>
|
|
||||||
<Submenu name="3">
|
|
||||||
<template slot="title">
|
|
||||||
<Icon type="stats-bars"></Icon>
|
|
||||||
统计分析
|
|
||||||
</template>
|
|
||||||
<Menu-group title="使用">
|
|
||||||
<Menu-item name="3-1">新增和启动</Menu-item>
|
|
||||||
<Menu-item name="3-2">活跃分析</Menu-item>
|
|
||||||
<Menu-item name="3-3">时段分析</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
<Menu-group title="留存">
|
|
||||||
<Menu-item name="3-4">用户留存</Menu-item>
|
|
||||||
<Menu-item name="3-5">流失用户</Menu-item>
|
|
||||||
</Menu-group>
|
|
||||||
</Submenu>
|
|
||||||
</Menu>
|
|
||||||
</i-col>
|
|
||||||
</Row>
|
|
||||||
<br>
|
|
||||||
<p>切换主题</p>
|
|
||||||
<Radio-group v-model="theme2">
|
|
||||||
<Radio label="light"></Radio>
|
|
||||||
<Radio label="dark"></Radio>
|
|
||||||
</Radio-group>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data () {
|
|
||||||
return {
|
|
||||||
theme2: 'light'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
s (s) {
|
|
||||||
console.log(s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<ul :class="classes" :style="styles"><slot></slot></ul>
|
<ul :class="classes" :style="styles"><slot></slot></ul>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { oneOf } from '../../utils/assist';
|
import { oneOf, findComponentsDownward } from '../../utils/assist';
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
|
|
||||||
const prefixCls = 'ivu-menu';
|
const prefixCls = 'ivu-menu';
|
||||||
|
@ -84,12 +84,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateOpened () {
|
updateOpened () {
|
||||||
this.$children.forEach(item => {
|
const items = findComponentsDownward(this, 'Submenu');
|
||||||
if (item.$options.name === 'Submenu') {
|
|
||||||
|
if (items.length) {
|
||||||
|
items.forEach(item => {
|
||||||
if (this.openNames.indexOf(item.name) > -1) item.opened = true;
|
if (this.openNames.indexOf(item.name) > -1) item.opened = true;
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.updateActiveName();
|
this.updateActiveName();
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<script>
|
<script>
|
||||||
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 { getStyle } from '../../utils/assist';
|
import { getStyle, findComponentUpward } from '../../utils/assist';
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
|
|
||||||
const prefixCls = 'ivu-menu';
|
const prefixCls = 'ivu-menu';
|
||||||
|
@ -41,7 +41,8 @@
|
||||||
prefixCls: prefixCls,
|
prefixCls: prefixCls,
|
||||||
active: false,
|
active: false,
|
||||||
opened: false,
|
opened: false,
|
||||||
dropWidth: parseFloat(getStyle(this.$el, 'width'))
|
dropWidth: parseFloat(getStyle(this.$el, 'width')),
|
||||||
|
parent: findComponentUpward(this, 'Menu')
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -56,12 +57,10 @@
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
mode () {
|
mode () {
|
||||||
// todo while
|
return this.parent.mode;
|
||||||
return this.$parent.mode;
|
|
||||||
},
|
},
|
||||||
accordion () {
|
accordion () {
|
||||||
// todo while
|
return this.parent.accordion;
|
||||||
return this.$parent.accordion;
|
|
||||||
},
|
},
|
||||||
dropStyle () {
|
dropStyle () {
|
||||||
let style = {};
|
let style = {};
|
||||||
|
@ -77,8 +76,7 @@
|
||||||
|
|
||||||
clearTimeout(this.timeout);
|
clearTimeout(this.timeout);
|
||||||
this.timeout = setTimeout(() => {
|
this.timeout = setTimeout(() => {
|
||||||
// todo while
|
this.parent.updateOpenKeys(this.name);
|
||||||
this.$parent.updateOpenKeys(this.name);
|
|
||||||
this.opened = true;
|
this.opened = true;
|
||||||
}, 250);
|
}, 250);
|
||||||
},
|
},
|
||||||
|
@ -88,8 +86,7 @@
|
||||||
|
|
||||||
clearTimeout(this.timeout);
|
clearTimeout(this.timeout);
|
||||||
this.timeout = setTimeout(() => {
|
this.timeout = setTimeout(() => {
|
||||||
// todo while
|
this.parent.updateOpenKeys(this.name);
|
||||||
this.$parent.updateOpenKeys(this.name);
|
|
||||||
this.opened = false;
|
this.opened = false;
|
||||||
}, 150);
|
}, 150);
|
||||||
},
|
},
|
||||||
|
@ -98,14 +95,12 @@
|
||||||
if (this.mode === 'horizontal') return;
|
if (this.mode === 'horizontal') return;
|
||||||
const opened = this.opened;
|
const opened = this.opened;
|
||||||
if (this.accordion) {
|
if (this.accordion) {
|
||||||
// todo while
|
this.parent.$children.forEach(item => {
|
||||||
this.$parent.$children.forEach(item => {
|
|
||||||
if (item.$options.name === 'Submenu') item.opened = false;
|
if (item.$options.name === 'Submenu') item.opened = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.opened = !opened;
|
this.opened = !opened;
|
||||||
// todo while
|
this.parent.updateOpenKeys(this.name);
|
||||||
this.$parent.updateOpenKeys(this.name);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
@ -68,7 +68,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.parent = findComponentUpward(this, 'RadioGroup');
|
|
||||||
if (this.parent) this.group = true;
|
if (this.parent) this.group = true;
|
||||||
if (!this.group) {
|
if (!this.group) {
|
||||||
this.updateValue();
|
this.updateValue();
|
||||||
|
|
Loading…
Add table
Reference in a new issue