<template> <div class="circle-menu"> <vue-circle-menu :items="menuItems" @item-click="handleMenuClick"></vue-circle-menu> </div> </template> <script> import VueCircleMenu from 'vue-circle-menu'; export default { components: { VueCircleMenu, }, data() { return { menuItems: [ { icon: 'mdi-home', text: 'Home' }, { icon: 'mdi-account', text: 'Profile' }, { icon: 'mdi-settings', text: 'Settings' }, { icon: 'mdi-logout', text: 'Logout' }, ], }; }, methods: { handleMenuClick(item) { console.log(item.text + ' clicked'); // 在这里可以根据不同的菜单项进行不同的操作 }, }, }; </script> <style> .circle-menu { display: flex; justify-content: center; align-items: center; height: 100vh; } </style>如何实现环四个菜单以及type属性设置 number设置以及其它属性设置
时间: 2024-03-13 21:43:06 浏览: 82
要实现环形菜单,可以使用 CSS3 的 transform 和 transition 属性来实现。可以将菜单项以圆心为起点,均匀分布在圆周上,并通过 CSS3 的 transform 属性来旋转每一个菜单项,使其形成一个环形菜单。
要设置 type 属性为 number,可以在每一个菜单项中加入一个属性,如 num,表示该菜单项对应的数字。然后在 handleMenuClick 方法中,获取该菜单项的 num 属性值,即可获得该菜单项对应的数字。
除此之外,还可以设置其他属性,比如菜单项的文字颜色、字体大小、背景颜色等等。可以通过在 CSS 中设置相应的样式来完成。下面是完整的代码示例:
```
<template>
<div class="circle-menu">
<vue-circle-menu :items="menuItems" @item-click="handleMenuClick"></vue-circle-menu>
</div>
</template>
<script>
import VueCircleMenu from 'vue-circle-menu';
export default {
components: {
VueCircleMenu,
},
data() {
return {
menuItems: [
{
icon: 'mdi-home',
text: 'Home',
num: 1,
textColor: '#fff',
backgroundColor: '#ff5722',
fontSize: '16px',
},
{
icon: 'mdi-account',
text: 'Profile',
num: 2,
textColor: '#fff',
backgroundColor: '#4caf50',
fontSize: '16px',
},
{
icon: 'mdi-settings',
text: 'Settings',
num: 3,
textColor: '#fff',
backgroundColor: '#2196f3',
fontSize: '16px',
},
{
icon: 'mdi-logout',
text: 'Logout',
num: 4,
textColor: '#fff',
backgroundColor: '#9c27b0',
fontSize: '16px',
},
],
};
},
methods: {
handleMenuClick(item) {
console.log(item.text + ' clicked, num is: ' + item.num);
// 在这里可以根据不同的菜单项进行不同的操作
},
},
};
</script>
<style>
.circle-menu {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.vue-circle-menu__item {
position: absolute;
top: 50%;
left: 50%;
width: 60px;
height: 60px;
margin-top: -30px;
margin-left: -30px;
text-align: center;
line-height: 60px;
border-radius: 50%;
font-size: 16px;
color: #fff;
cursor: pointer;
transition: all 0.2s ease-in-out;
}
.vue-circle-menu__item:hover {
transform: scale(1.2);
}
.vue-circle-menu__item.active {
transform: scale(1.2);
}
.vue-circle-menu__item-icon {
font-size: 24px;
}
.vue-circle-menu__item-text {
margin-top: 10px;
}
</style>
```
阅读全文