功能列表 - 丰富功能一览
<template>
<view>
<!-- 顶部导航栏 -->
<view class='af-head'>
<span class='af-head-msg' style='font-size: 60rpx;'>
<span class='af-head-msg af-head-fuc'>全部功能</span>
</span>
</view>
<pre><code> <view class='func-show'>
<!-- 左侧导航栏 -->
<view class='sidebar'>
<view v-for='(item, index) in menuItems' :key='index' @click='selectMenuItem(item.id)'
:class='{ active: activeMenuItem === item.id }'>
{{ item.name }}
</view>
</view>
<!-- 显示内容 -->
<view class='ssc'>
<view class='feature-row' v-for='(row, index) in featureRows' :key='index'>
<view class='feature-item' v-for='feature in row' :key='feature.id'>
<image :src='feature.icon' class='feature-icon' />
<span class='feature-text'>{{ feature.name }}</span>
</view>
</view>
</view>
</view>
</view>
</code></pre>
</template>
<script>
export default {
data() {
return {
activeMenuItem: 1, // 当前选中的菜单项ID
menuItems: [{
id: 1,
name: '菜单项1',
features: [{
id: 1,
name: '功能1',
icon: '/static/home/128/duanxin.png'
},
{
id: 2,
name: '功能2',
icon: '/static/home/128/duanxin.png'
},
{
id: 3,
name: '功能3',
icon: '/static/home/128/duanxin.png'
},
{
id: 4,
name: '功能4',
icon: '/static/home/128/duanxin.png'
}
]
},
{
id: 2,
name: '菜单项2',
features: [{
id: 3,
name: '功能3',
icon: '/static/home/128/duanxin.png'
},
{
id: 4,
name: '功能4',
icon: '/static/home/128/duanxin.png'
}
]
},
{
id: 3,
name: '菜单项3',
features: [{
id: 5,
name: '功能5',
icon: '/static/home/128/duanxin.png'
},
{
id: 6,
name: '功能6',
icon: '/static/home/128/duanxin.png'
}
]
}
]
}
},
computed: {
featureRows() {
const rows = [];
const features = this.menuItems[this.activeMenuItem - 1].features;
const featureCount = features.length;
const rowCount = Math.ceil(featureCount / 3); // 计算行数,每行显示 3 个图标
let rowIndex = 0;
for (let i = 0; i < featureCount; i += 3) {
rows[rowIndex] = features.slice(i, i + 3);
rowIndex++;
}
return rows;
}
},
methods: {
selectMenuItem(itemID) {
this.activeMenuItem = itemID;
}
}
}
</script>
<style>
.af-head {
position: relative;
background-color: #629ffc;
height: 100rpx;
display: flex;
justify-content: center;
font-size: 44rpx;
font-weight: 500;
font-family: sans-serif;
}
.af-head-msg {
position: absolute;
bottom: 16rpx;
color: white;
left: 38rpx;
}
.af-head-fuc {
text-align: center;
left: 300rpx;
}
.func-show {
display: flex;
height: 1524rpx;
}
.sidebar {
width: 100px;
height: 1524rpx;
padding-top: 20rpx;
}
.sidebar view {
padding: 10rpx;
color: black;
list-style-type: none;
/* display: block; */
display: flex;
/* 调整为 Flex 布局 */
align-items: center;
/* 垂直居中 */
margin-top: 14rpx;
cursor: pointer;
transition: background-color 0.3s;
height: 40px;
}
.sidebar view.active {
border-left: 4px solid #629ffc;
background-color: white;
}
.ssc {
flex: 1;
background-color: white;
}
.feature-row {
display: flex;
justify-content: left;
/* 图标水平间距平均分布 */
margin-top: 30px;
/* 调整行与行之间的间距 */
}
.feature-item {
display: flex;
flex-direction: column;
/* 图标和文字垂直排列 */
align-items: center;
/* 图标和文字居中对齐 */
margin-left: 40px;
}
.feature-icon {
width: 40px;
height: 40px;
}
.feature-text {
margin-top: 5px;
/* 调整文字与图标之间的间距 */
}
</style>
原文地址: https://www.cveoy.top/t/topic/bb8R 著作权归作者所有。请勿转载和采集!