左侧导航栏分类 ---联动版本

简介: 左侧导航栏分类 ---联动版本

uni-app中实现左侧导航栏与右侧内容的联动效果,主要涉及两个部分:左侧的导航栏(通常为垂直列表)和右侧的内容区域。当用户点击左侧某个分类时,右侧的内容区域应滚动到相应的位置;同时,当右侧内容滚动时,左侧的导航栏也应相应地显示当前的活动分类。

以下是一个基本的实现思路:

1. 数据结构

首先,你需要定义一个数组来保存分类和对应内容的数据。例如:

const categories = [
  { id: 'cat1', name: '分类1', items: [...] },
  { id: 'cat2', name: '分类2', items: [...] },
  // ... 其他分类
];

2. 页面布局

页面可分为左侧的导航栏和右侧的内容区域。

<template>
  <view class="container">
    <view class="sidebar">
      <view v-for="(category, index) in categories" :key="category.id" @click="selectCategory(index)">
        {{ category.name }}
      </view>
    </view>
    <scroll-view class="content" scroll-y="true" :scroll-into-view="currentId">
      <view v-for="category in categories" :id="category.id" :key="category.id">
        <!-- 这里是每个分类的内容 -->
      </view>
    </scroll-view>
  </view>
</template>

3. 样式

对左侧导航栏和右侧内容区域进行基本的样式设置。

<style>
.container {
  display: flex;
}
.sidebar {
  width: 20%; /* 或根据需求调整 */
  /* 其他样式 */
}
.content {
  width: 80%; /* 或根据需求调整 */
  /* 其他样式 */
}
</style>

4. 方法实现

实现点击左侧分类,右侧内容滚动到相应位置的功能。

<script>
export default {
  data() {
    return {
      categories: [...], // 分类数据
      currentId: '' // 当前选中的分类ID
    };
  },
  methods: {
    selectCategory(index) {
      this.currentId = this.categories[index].id;
    }
  }
};
</script>

5. 右侧内容滚动监听(可选)

如果还需要实现当右侧内容滚动时,左侧导航栏自动高亮当前分类的功能,你可以添加滚动监听并计算当前活动的分类。

<scroll-view class="content" scroll-y="true" :scroll-into-view="currentId" @scroll="handleScroll">
  <!-- 内容 -->
</scroll-view>

handleScroll 方法中,根据滚动的位置判断当前活动的分类,并更新 currentId

这只是一个基本实现思路,具体的代码可能需要根据你的具体需求和项目结构进行调整。在实际开发中,还可能需要处理一些细节,比如分类内容高度不一、滚动性能优化等问题。

目录
相关文章
|
4月前
自定义顶部导航栏
自定义顶部导航栏
46 1
|
5月前
|
安全
uniapp实战 —— 自定义顶部导航栏
uniapp实战 —— 自定义顶部导航栏
211 2
|
7月前
ios15从隐藏系统导航栏页面进入显示系统导航栏页面后,期望系统导航栏背景色为白色,但是导航栏背景变成黑色问题
ios15从隐藏系统导航栏页面进入显示系统导航栏页面后,期望系统导航栏背景色为白色,但是导航栏背景变成黑色问题
67 0
|
7月前
|
前端开发 JavaScript
uniapp联动左侧导航栏分类?
uniapp联动左侧导航栏分类?
|
Prometheus 监控 Cloud Native
Grafana下拉框选择不同环境
Grafana下拉框选择不同环境
226 0
Grafana下拉框选择不同环境
|
小程序 JavaScript 数据库
小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
217 0
|
前端开发 JavaScript 开发者
分类页-左侧栏 |学习笔记
快速学习 分类页-左侧栏
分类页-左侧栏 |学习笔记
|
前端开发 开发者
分类页-顶部通栏 |学习笔记
快速学习 分类页-顶部通栏
160 0
分类页-顶部通栏 |学习笔记
|
移动开发 运维 前端开发
mPaaS-H5导航栏动态化修改
金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。其中很多业务在接入H5容器后都会对容器的导航栏进行深度定制,除了Native的定制化之外,还有很多场景是使用到jsapi的方式,通过jsapi实现导航栏的动态修改。本文旨在通过实际场景的描述,通过jsapi的方式,介绍jsapi下怎样动态修改导航栏,供业务参考使用。
477 0
mPaaS-H5导航栏动态化修改
|
前端开发 开发者 容器
分类页-左侧的滑动|学习笔记
快速学习 分类页-左侧的滑动