uni-app中实现左侧导航栏效果

HTML:

 1  <view class="list">
 2       <!-- 一级 -->
 3       <scroll-view class="list-left" scroll-y :style="‘height:‘+height+‘px‘">
 4             <view v-if="dataList.length>0" class="list-nav" @click="categoryClickMain(item.id,index)" :key="item.id" :class="index==categoryActive?‘active‘:‘‘"
 5              v-for="(item,index) in dataList">
 6               {{item.deptName}}
 7             </view>
 8       </scroll-view>
 9       <!-- 二级 -->
10       <scroll-view class="list-right" scroll-y :scroll-top="scrollTop" @scroll="scroll" :style="‘height:‘+height+‘px‘" scroll-with-animation>
11           <view class="right-nav" @tap="openOrder">
12               {{rightView.deptName}}
13           </view>
14       </scroll-view>
15  </view>

JavaScript:

<script>
    export default {
        data() {
            return {
                dataList: [],
                subList: [],
                height: 0,
                categoryActive: 0,
                scrollTop: 0,
                scrollHeight: 0,
                subs:[],
                rightView:{},
                isShow:true,
                img_url:this.$GLOBAL.BASE_IMG,
                "departmentLevel": 1,
                "gbDepartmentName": "",
                deptName:‘‘,
                isActive: 0 //默认激活的选项卡
            };
        },
        onLoad() {
            this.dataload();
            this.height = uni.getSystemInfoSync().windowHeight;
        },
         methods: {
            categoryClickMain(id,index) {
                this.categoryActive = index;
                let current = this.dataList.find(item => item.id === id);

                if(current) {
                    this.rightView = current.subs[0]
                }
            },
             dataload() { //获取基础数据
                 this.getInspectData();
             },
             getInspectData(options) {
                 let data = {
                      "args": {
                        "areaCode": 10001,
                        "orgCode": 1,
                        "systemCode": 1
                      },
                      "token": "string"
                 }
                 this.$request({
                     url: ‘url‘,
                     data: data,
                     success: (res) => {
                        console.log(‘data===‘,res.data.result)
                        let dataList = [];
                        this.dataList = res.data.result; //一级
                        this.rightView = res.data.result[0].subs[0] //二级
                     },
                 },‘selDepartment‘)
             },
            openOrder() {
                uni.navigateTo({
                    url:‘../order/order‘
                });
            }
          }

效果如下:

点击左边的,右侧显示对应的内容

原文地址:https://www.cnblogs.com/renxiao1218/p/10999365.html

时间: 2024-07-29 13:44:20

uni-app中实现左侧导航栏效果的相关文章

PagerSlidingTabStrip实现网易新闻导航栏效果

PagerSlidingTabStrip实现网易新闻导航栏效果之前在项目当中有一个需求,实现类似网易新闻标题导航的效果,于是在在github搜索下,找了一个开源PagerSlidingTabStrip,研究了这个空间的使用和一些方法,在此与大家分享,希望能够帮到有需要的朋友,好了废话不多讲,直接上代码. package com.example.textpagerslidingtabstrip.activity; import com.example.textpagerslidingtabstri

CI框架后台添加左侧导航栏出现的一系列问题

后台在数据库中添加了一个栏目.但是但点击这个新添加的栏目之后,却发现左侧的导航栏没有了,,为什么呢. 注意CI框架下在shared/libraries/Acl.php这个文件,(后台权限控制类) 里边有一个show_left_menus()方法,这个方法主要是用来过滤左侧导航栏的功能.在这里边添加你新添加的导航, 发现是不是ok了,,耗费大量人力物力,终于好了..

MFC office2007风格设置左侧导航栏 [转]

当基础的框架搭好以后,我想为其添加一个左侧导航栏,过程如下:在框架类的头文件添加一个导航栏参数: CMFCOutlookBar m_navigation; 为了完善功能,在导航栏里面我添加了一个CTreeCtrl控件 CTreeCtrl m_treectrl; 并且创建一个函数创建导航栏,并关联CTreeCtrl控件,函数原型如下: bool CreateNavigationBar(CMFCOutlookBar& bar, UINT uiID, int nInitialWidth, CTreeC

chrome 网页 左侧导航栏不展开

chrome 网页 左侧导航栏不展开 现象 代码 <li class="one"> <a href="#"><i class="fa fa-sitemap"></i> <span class="nav-label">菜单 </span><span class="fa arrow"></span></a>

php实现三级导航栏效果

首先看看效果图: 1.数据配置文件 db.php <?php return array( array( 'one' => '关于我们', 'two' => array( array( 'three_tit' => '公司介绍', 'three_cont' => array( '企业概况', '组织架构', '发展历程', '企业文化', '服务理念' ) ), array( 'three_tit' => '企业荣誉', 'three_cont' => array(

iOS 顶部高斯模糊导航栏 + 页面内容穿越底部导航栏效果

(1)如果是使用系统导航栏则设置其translucent属性即可: [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationController.navigationBar.shadowImage = [UIImage new]; self.navigationController.navigationB

jquery实现导航栏效果

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <div class="box"> <ul class="menu"> <li

简单的jquery左侧导航栏和页面选中效果

这里是要实现导航的左侧并选中的,此功能需引用jquery 效果: 左侧导航 <div class="box"> <ul class="menu"> <li class="level1"> <a href="#none" rel="external nofollow">衬衫</a> <ul class="level2">

Android之仿今日头条顶部导航栏效果

随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以有加了顶部导航栏. 今日头条顶部导航栏区域的主要部分是一个导航菜单.导航菜单是一组标签的集合,在新闻客户端中,每个标签标示一个新闻类别,对应下面ViewPager控件的一个分页面.当用户在ViewPager区域滑动页面时,对应的导航菜单标签也会相应的被选中,选中的标签通过一个矩形红框高亮显示,红框背