Element ui tabs组件左右箭头切换 (第一项为固定项)

这篇具有很好参考价值的文章主要介绍了Element ui tabs组件左右箭头切换 (第一项为固定项)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前发布过一篇关于切换的 但是有点瑕疵 这次补充一下

<template>
    <div style="margin: 10px 10px; border: 1px solid rgb(212, 209, 209); border-radius: 10px; overflow: hidden; box-shadow: 0px 0px 12px -6px;">
                    <!-- 导航栏 -->

     <div class="TAb">
//这个v-if是渲染的条数少于几条的话左右箭头不展示 没有需求可不加
        <div class="xiangzuo" @click="leftChange()" v-if="changePage">
          <!-- 左箭头 -->
          <i class="el-icon-arrow-left"></i>
        </div>

        <el-tabs class="TAB" v-model="activeIndex" @tab-click="handleClick" scrollable="true">
          <!-- 固定项 -->
          <el-tab-pane v-if="showFixedTab" label="地名信息" name="fixed">
            <!-- 固定项内容 -->
  <!-- //在这加了一个判断 如果渲染的数据没有值的话就不展示这一行 -->
                        <div class="text-container" v-if="item.valueName != '' && item.valueName != null " v-for="(item,index) in infoData" :key="index">
                            <span  class="first">{{ index}}: </span>   <span class="text">{{ item.valueName }}</span>
                        </div>
            <!-- ... -->
          </el-tab-pane>

          <!-- 其他项 -->
          <el-tab-pane v-for="(item, index) in tabsList" :key="index" :label="item.label" :name="index.toString()" style="padding: 0px 10px;">
            <!-- 定义不同的切换列表样式 -->
            <span v-html="item.name"></span>
            <!-- <slot :name="item.key" :index="index" /> -->
          </el-tab-pane>
        </el-tabs>

        <div class="xiangyou" @click="rightChange()" v-if="changePage">
          <!-- 右箭头 -->
          <i class="el-icon-arrow-right"></i>
        </div>
      </div>

data里没啥可看的 就是要渲染的数据定义

  data() {
        return {
//默认选中的项
            activeIndex: "",
            tabsList: [],
            // 测试数据
            // testMock: [
            //     {label:'暂无数据',name:'暂无数据'},
            //     {label:'暂无数据',name:'暂无数据'},
            //     {label:'暂无数据',name:'暂无数据'},
            // ],
            //  activeTab: this.defaultActiveTab
            // 切换页显示与隐藏
            changePage: true,
            showFixedTab:true
        };
    },

在生命周期里刚开始的时候判断了一下 看是否添加固定项 因为我这个是组件

   created() {
         this.activeIndex = this.showFixedTab ? 'fixed' : '0';
    },

这个是判断条数低于几条的时候不展示左右箭头 有需求的话看是开局就添加还是监测到数据了在触发方法都一样

      if (this.tabsList != null && this.tabsList.length < 3) {
                this.changePage = false
            } else if (this.tabsList != null && this.tabsList.length > 3) {
                this.changePage = true
            } else {
                this.changePage = false
            }

最后就是方法

leftChange() {
            const currentIndex = parseInt(this.activeIndex);
            if (currentIndex > 0) {
                this.activeIndex = (currentIndex - 1).toString();
            } else if (currentIndex === 0 && this.showFixedTab) {
                this.activeIndex = 'fixed';
            }
        },
        rightChange() {
//因为我是将他的下标当默认选中的数据为依据的所以转化为数值型
            const currentIndex = parseInt(this.activeIndex);
            const lastIndex = this.tabsList.length - 1;
            if (currentIndex < lastIndex) {
                this.activeIndex = (currentIndex + 1).toString();
//如果选中的数据为最大值了 切换到fixed项
            } else if (currentIndex === lastIndex && this.showFixedTab) {
                this.activeIndex = 'fixed';
//如果为fixed项就切换到数据的0项 
            } else if (this.activeIndex == 'fixed') {
                this.activeIndex = '0';
            }
        },
        handleClick(tab) {
            if (tab.name !== 'fixed') {
                this.activeIndex = tab.name;
            }

兄弟们看需求改改吧文章来源地址https://www.toymoban.com/news/detail-789614.html

到了这里,关于Element ui tabs组件左右箭头切换 (第一项为固定项)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Element-ui tab栏的切换

    代码: 解析:使用el-tabs进行包裹,使用el-tab-pan来显示上面的可选栏。 对应的效果图:  基本的用法 具体可参考官网。

    2024年02月11日
    浏览(35)
  • Element UI Select组件远程搜索没有箭头图标

    el-select 组件启用远程搜索,加上 remote 并传入一个 remote-method ,此时内部i标签类名缺失,选择器无法显示下拉箭头图标 在控制台查看对应的 dom,发现使用远程搜索之后,对应的 icon 的 class 缺失,将缺失部分的class补全( el-icon-arrow-up )即可 tip : 只需要找到对应的 dom,然后

    2024年02月04日
    浏览(31)
  • 解决element ui中el-tabs标签点击切换闪屏问题

    现象:点击切换 element ui中el-tabs时候,table会出现闪一下的状况; 初始element ui中el-tabs组件代码如下: 使用v-if=\\\"activeName===\\\'first\\\'\\\" 解决闪屏   改造后代码如下:

    2024年02月07日
    浏览(36)
  • element UI el-tabs组件使用

    使用 Elemenet UI 框架中的 el-tabs 组件 平时在做项目时,tab切换效果几乎是必不可少的,下来整理一个最近做的一个小功能:el-tabs    说明: v-model:当前选中项 :tab-position:tab栏显示方向 @tab-click:切换tab栏的事件 JS:

    2024年02月11日
    浏览(33)
  • uniapp 左右滑动切换页面并切换tab

    实现效果如图 要实现底部内部的左右滑动切换带动上方tab栏的切换,并且下方内容要实现纵向滚动 ,所以需要swiper,swiper-item,scroll-view组合使用 tab栏部分  tab栏点击切换,需要重新调取数据 下方内容部分 滑动切换,改变上方tab栏状态,并重新调取数据 以上即可实现页面左

    2024年02月13日
    浏览(31)
  • 改变element-ui中el-tabs组件的样式

    2024年01月24日
    浏览(37)
  • 前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度

    前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度, 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下:           #### 使用方法 ```使用方法 swiperTabList: [\\\"2023-06-10\\\",\\\"2023-06-11\\\",\\\"2023-06-12\\\",\\\"2023-06-13\\\",\\\"2023-06-14\\\",\\\"2023-06-15\\\"], //导航列表 swiperTabIdx:

    2024年02月08日
    浏览(36)
  • uniapp 微信小程序实现监听屏幕左右滑动实现tab标签切换效果

            实际的项目开发之中,有很多所谓的奇葩需求,当工程量相对较大的时候去更换组件会显得特别麻烦和费时。我这次的需求因为某些特殊原因,更换组件后也无法实现需要达到的效果,所以最后只能监听滑动事件,相信你看了我的代码也能轻松搞定!          

    2024年02月14日
    浏览(41)
  • uniapp-微信小程序实现swiper左右滚动切换tab,上下滚动加载列表

    思路:左右滑动使用swiper,上下滑动用scroll-view,swiper改变时同时改变tab并更新列表 坑点: 1. swiper高度问题,导致滑动不到最底部和最顶部         需要手动计算,减去顶部高度和底部tabbar,并且需要同时设置padding-top和paddin-botton,否则列表显示不完整 2. 由于最开始的代码

    2024年02月04日
    浏览(41)
  • Vue Element ui Upload组件在上传文件时,动态切换 action上传路径

    当我们在使用 Element ui,Upload组件时,官网默认的基础配置如下 现在的需求是,如果页面只有 一个 el-upload组件,需要上传的文件,根据不同的类型,切换不同的action 上传路径。 首先我这里选择,通过调用 before-upload 上传文件之前的钩子函数,函数接收一个参数,就是上传的

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包