mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2026-08-06 10:57:25 +08:00
- 将多个组件转换为 `<script setup>` 语法,提升可读性和性能 - 优化状态管理和事件处理逻辑,简化代码结构 - 更新样式和布局以适应新组件结构 - 添加新功能和修复已知问题,提升用户体验
75 lines
1.4 KiB
Vue
75 lines
1.4 KiB
Vue
<template>
|
|
<view class="layout">
|
|
<view class="menu-list">
|
|
<view
|
|
class="menu-item"
|
|
@click="modelNavigateTo(item)"
|
|
v-for="(item, index) in res.list"
|
|
:key="index"
|
|
>
|
|
<view class="menu-img-wrap">
|
|
<u-image
|
|
width="88rpx"
|
|
height="88rpx"
|
|
class="menu-img"
|
|
:src="item.img"
|
|
>
|
|
<template #loading><u-loading-icon></u-loading-icon></template>
|
|
</u-image>
|
|
</view>
|
|
<view class="menu-title">{{ item.title }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { modelNavigateTo } from "./tpl";
|
|
|
|
defineProps<{ res: any }>();
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
@import "./tpl.scss";
|
|
.menu-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
|
|
> .menu-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
width: 20%;
|
|
flex: 0 0 20%;
|
|
box-sizing: border-box;
|
|
margin: 20rpx 0;
|
|
padding: 0 4rpx;
|
|
}
|
|
}
|
|
|
|
.menu-img-wrap {
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.menu-img {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
:deep(.menu-img .u-image) {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.menu-title {
|
|
margin-top: 8rpx;
|
|
font-size: 24rpx;
|
|
line-height: 1.3;
|
|
width: 100%;
|
|
text-align: center;
|
|
}
|
|
</style> |