Files
mes-ui-d2/src/layout/header-aside/components/header-size/index.vue

43 lines
1.1 KiB
Vue
Raw Normal View History

<template>
<el-dropdown placement="bottom" size="small" @command="handleChange">
<el-button class="d2-mr btn-text can-hover" type="text">
<d2-icon name="font" style="font-size: 16px;"/>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="medium">
<d2-icon :name="iconName('medium')" class="d2-mr-5"/>
</el-dropdown-item>
<el-dropdown-item command="small">
<d2-icon :name="iconName('small')" class="d2-mr-5"/>
</el-dropdown-item>
<el-dropdown-item command="mini">
<d2-icon :name="iconName('mini')" class="d2-mr-5"/>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
<script>
import { mapState, mapMutations } from 'vuex'
export default {
name: 'd2-size-control',
computed: {
...mapState('d2admin/size', [
'value'
])
},
methods: {
...mapMutations('d2admin/size', [
'set'
]),
handleChange (value) {
this.$ELEMENT.size = value
this.set(value)
},
iconName (name) {
return name === this.value ? 'dot-circle-o' : 'circle-o'
}
}
}
</script>