From 92230c9a97dc9ce9df3313d11d26999c04bb6b26 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 15 七月 2025 13:12:48 +0800 Subject: [PATCH] 项目初始化 --- src/components/geek-xd/components/geek-menu/geek-menu.vue | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/src/components/geek-xd/components/geek-menu/geek-menu.vue b/src/components/geek-xd/components/geek-menu/geek-menu.vue new file mode 100644 index 0000000..55976e9 --- /dev/null +++ b/src/components/geek-xd/components/geek-menu/geek-menu.vue @@ -0,0 +1,74 @@ +<script setup> +import { computed } from 'vue'; + +const props = defineProps({ + icon: { + type: String, + default: '' + }, + size: { + type: Number, + default: 80 + }, + label: { + type: String, + default: "鑿滃崟" + }, + labelColor: { + type: String, + default: '#515151' + }, + type: { + type: String, + default: 'circle' + } +}) +const menuStyle = computed(() => { + return { + width: `${props.size + 40}rpx`, + height: `${props.size + 40}rpx` + } +}) +const titleStype = computed(() => { + return { + width: `${props.size + 40}rpx`, + color: props.labelColor + } +}) +</script> +<template> + <view> + <view class="menu" :class="type" :style="menuStyle" @click="$emit('click')"> + <image :src="icon" style="width: 100%;height: 100%"></image> + </view> + <view class="title" :style="titleStype">{{ label }}</view> + </view> +</template> +<style lang="scss" scoped> +.menu { + padding: 20rpx; +} + +.circle { + padding: 20rpx; + border-radius: 100%; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + + &:active { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.8); + } +} + +.rect { + padding: 15rpx; + margin-bottom: -15rpx; + + &:active { + opacity: 0.5; + } +} + +.title { + text-align: center; +} +</style> \ No newline at end of file -- Gitblit v1.9.3