实现ElementUI tab标签可拖拽

这篇具有很好参考价值的文章主要介绍了实现ElementUI tab标签可拖拽。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过sortablejs实现

1.安装sortablejs

npm install sortablejs --save

2.设置 id="drag-tab"便于获取当前tab

    <el-tabs
      v-model="editableTabsValue"
      type="card"
      class="demo-tabs"
      closable
      @tab-remove="removeTab"
      @tab-click="switchTab"
      id="drag-tab"
    >
      <el-tab-pane
        v-for="item in editableTabs"
        :key="item.name"
        :label="item.title"
        :name="item.name"
      >
      </el-tab-pane>
    </el-tabs>

3.实现拖拽

onMounted(()=>{
  dragTab();
});

const dragTab = () =>{
    const tab = document.querySelector("#drag-tab .el-tabs__nav"); //获取需要拖拽的tab
    Sortable.create(tab, {
      //oldIIndex拖放前的位置, newIndex拖放后的位置 , editableTabs为遍历的tab签
      onEnd({ newIndex, oldIndex }) {
        const currTab = editableTabs.value.splice(oldIndex, 1)[0]; //鼠标拖拽当前的el-tabs-pane
        editableTabs.value.splice(newIndex, 0, currTab); 
        editableTabsValue.value = editableTabs.value[newIndex].name;// 设置当前活动tab名称
        router.push({path:editableTabsValue.value});//main区页面和tab标签联动
      },
    });
}

参考:https://blog.csdn.net/wangjiecsdn/article/details/121995534文章来源地址https://www.toymoban.com/news/detail-813714.html

到了这里,关于实现ElementUI tab标签可拖拽的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue3实现组件可拖拽 vuedraggable

    npm i -S vuedraggable@next 中文文档,里面有完整代码案例,值得一看 vue.draggable vue3 版本在工作台中的应用场景 - itxst.com

    2024年02月13日
    浏览(26)
  • ElementUI的Dialog弹窗实现拖拽移动功能

    在项目中使用el-dialog中发现不能够拖拽移动,因此网上找了相关资料,使用自定义指令实现拖拽功能。 1、创建自定义指令: 新建文件 directive/el-drag-dialog/index.js 新建文件 directive/el-drag-dialog/drag.js 2、引入自定义指令   3、使用自定义指令(v-el-darg-dialog) 其中v-el-drag-dialog为自

    2024年02月12日
    浏览(29)
  • Vue中使用vue-drag-resize实现窗体可拖拽和随意缩放大小

    若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_ruoyi本地调式_霸道流氓气质的博客-CSDN博客 在上面的基础上,实现弹窗窗体可移动以及随意缩放大小。 效果如下   注: 博客: https://blog.csdn.net/badao_liumang_qizhi 

    2024年02月11日
    浏览(32)
  • Qt程序设计-无边框可移动可拖拽调整大小窗体

    本文讲解Qt-无边框可移动可拖拽调整大小窗体。 通过鼠标的按下移动进行窗体的移动,拖拽调整窗体大小。 实现过程如下: 创建QWidget窗体,添加一个按钮控制窗体的关闭。

    2024年02月19日
    浏览(31)
  • vue+echart实现3d地图可拖拽、缩放、区域填充颜色(geo3D)

    功能背景 一个略微比2d地图炫酷一些的3d地图, 1、可对区域进行不同颜色填充。 2、可拖拽缩放地图 3、鼠标悬停高亮某区域。 (注意:当开启了鼠标悬停series,并高亮某个数据的时候,会导致地图的拖拽缩放出现卡顿,因为相当于是事件重叠了。。。目前还没想到好的解决方

    2024年02月13日
    浏览(36)
  • Vue:可拖拽组件

            在实际开发中,很可能会遇到开发可拖拽组件的需求,目的是应对某些弹框组件会遮盖某些重要信息/可操作面板,通过可拖拽的形式可以将上层的弹框组件移动到其他位置,从而不影响整个系统的操作。下面,我们分两步走,开发一个可拖拽的弹框组件,最终效果如

    2024年02月12日
    浏览(28)
  • ElementUI tabs标签页样式改造美化

    大家如果有需要可以拿来修改使用,下面我也简单的贴上代码,代码没有注释,很抱歉,时间比较匆忙。 ## CSS:

    2024年02月15日
    浏览(65)
  • 基于Element-ui 封装穿梭框(左侧树 右侧列表,可全选,列表可拖拽)

    Element-ui提供的穿梭框只支持列表,根据实际需求自己写了一个左边是树结构,右边是列表结构的穿梭框,(如果需要两边都是树结构的话,需要把右侧的逻辑参考左侧改一改)拖拽使用了 vuedraggable 插件

    2024年02月11日
    浏览(41)
  • 【elementUI系列一】vue拖拽功能实现-vuedraggable实现多层嵌套拖拽

    文章目录 【elementUI系列二】el-image实现下载功能 【elementUI系列三】el-table多列排序(后端排序)并清除排序 awe-dnd和vue-draggable做了一番比较,最终选择了vue-draggable,至于原因: vue-draggable的@start和@end只会在拖拽元素移动的开始和结束时触发,过程中不会触发 awe-dnd会一直监听

    2024年02月02日
    浏览(37)
  • 关于修改element-ui中Tabs标签页选中标签下划线缩短居中效果的实现方法

    需求描述: 下划线需要改为原来的一半,并且可以根据元素长度动态更换长度。 原样式: 改为以下样式: 思路如下 :element-ui通过一个独立的元素实现tab间切换能够达到下划线滑动的动态效果,所以将下划线独立为一个元素,并非使用tab自身的盒子设置下边框的样式去实现

    2024年02月12日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包