element-ui Collapse 折叠面板拖动改变顺序

2023-05-16

在实际开发中需要用到Collapse 折叠面板但是同时需要能够实现拖动折叠面板改变顺序的功能,我的实现方法是引用Vue.Draggable

安装
npm install vuedraggable
在需要的文件引入
import draggable from 'vuedraggable'

调用组件

element="el-collapse"表示使用的是el-collapse

<draggable v-model="bodyList"  element="el-collapse">

  <div v-for="item in bodyList" :key="item.id">

     <el-collapse-item>

     </el-collapse-item>

 </div>
</draggable>

draggable 的各种事件

 

<!--start事件的用法-->
<template>
  <div>
    <!--使用draggable组件-->
    <div class="itxst">
      <div style="padding-left:10px">start事件例子</div>
      <div class="col">
        <draggable v-model="arr1" group="itxst" @start="start" animation="300">
          <transition-group>
            <div
              :class="item.id==1?'item forbid':'item'"
              v-for="item in arr1"
              :key="item.id"
            >{{item.name}}</div>
          </transition-group>
        </draggable>
      </div> 
    </div>
  </div>
</template>
<script>
//导入draggable组件
import draggable from "vuedraggable";
export default {
  //注册draggable组件
  components: {
    draggable
  },
  data() {
    return {
      //定义要被拖拽对象的数组
      arr1: [
        { id: 1, name: "www.itxst.com" },
        { id: 2, name: "www.jd.com" },
        { id: 3, name: "www.baidu.com" },
        { id: 5, name: "www.google.com" },
        { id: 4, name: "www.taobao.com" }
      ] 
    };
  },
  methods: {
    //开始拖拽事件
    start(e) {
      console.log(e);
    } 
  }
};
</script>
<style scoped>
.itxst {
  margin: 10px;
  text-align: left;
}
.col {
  width: 40%;
  flex: 1;
  padding: 10px;
  border: solid 1px #eee;
  border-radius: 5px;
  float: left;
}
.col + .col {
  margin-left: 10px;
}
.item {
  padding: 6px 12px;
  margin: 0px 10px 0px 10px;
  border: solid 1px #eee;
  background-color: #f1f1f1;
  text-align: left;
}
.item + .item {
  border-top: none;
  margin-top: 6px;
}

.item:hover {
  background-color: #fdfdfd;
  cursor: move;
}
.item2 {
  padding: 6px 12px;
  margin: 0px 10px 0px 10px;
  border: solid 1px #eee;
  background-color: pink;
  text-align: left;
}
.item2 + .item2 {
  border-top: none;
  margin-top: 6px;
}

.item2:hover {
  outline: solid 1px #ddd;
  cursor: move;
}
</style>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

element-ui Collapse 折叠面板拖动改变顺序 的相关文章

  • 在列表中的元素中搜索子字符串并删除元素

    我有一个列表 我正在尝试删除其中的元素 pie 在他们中 这就是我所做的 applepie orangepie turkeycake for i in range len list if pie in list i del list i 我
  • 获取 DOM 节点的字符串表示形式

    Javascript 我有一个节点 元素或文档 的 DOM 表示 我正在寻找它的字符串表示 例如 var el document createElement p el appendChild document createTextNode
  • AngulareJS e2e 检查列表中的每个链接

    我是 AngularJS 的新手 我将主要使用 e2e 部分 使用 jasmine 经过几天的无果而终 至少可以说 我发现文档相当厌食 我想知道是否有人可以在这里帮助我 网站生成 a href 链接的 html 列表 我可以使用 angul
  • 如何在 HTML5 中制作提交按钮?

    Given W3C 提交按钮的 HTML5 规范 http www w3 org TR html markup button submit html 按钮元素必须同时具有开始标记和结束标记 带有开始和结束标记的提交按钮的示例是什么
  • 无法使用 XPath 表达式定位 LABEL 的元素

    我正在尝试使用下面的 xpath 作为标签 但我无法找到该元素 driver findElement By xpath div label contains text Patient s Name isEnabled XPath id up
  • MongoDB C# - 获取不存在的元素的 BsonDocument

    所以我有一个 BsonDocument b 假设它有 FirstName LastName Age 您可以通过 b FirstName 等访问它 如果我尝试执行 b asdfasdf 当然不存在 它不会返回 null 而是会导致应用程序出错
  • 从数组中删除元素(Java)[重复]

    这个问题在这里已经有答案了 有没有快速 而且美观 的方法来从 Java 数组中删除元素 您可以使用 commons lang 的 ArrayUtils array ArrayUtils removeElement array element
  • HTML 元素过多会影响页面性能吗?

    我想知道两者之间是否有区别 1 10 000 个可见的表行 2 使用 display none 隐藏 10 000 个表格行 我想知道的是 如果页面上所有 10 000 行都可见 是否会导致页面滚动滞后 但如果我隐藏其中的 9000 个 这
  • TYPO3:如何在后端添加css和JS

    我该如何添加css and javascript后端有文件吗 我想将这些文件用于自定义创建的内容元素以使它们对用户更具吸引力 System TYPO3 v9 Mode 作曲家模式 Target 自定义内容元素 在 TYPO3 v9 中 您必
  • 在 Python 中循环 Protocol Buffers 属性

    我想要帮助递归地循环协议缓冲区消息中包含的所有属性 子对象 假设我们不知道它们的名称 或者有多少个 作为示例 请从 google 网站上的教程中获取以下 proto 文件 message Person required string nam
  • 在 JavaScript 中从对象创建 DOM 元素

    嗨 我试图了解如何制作 Dom elemnt 比如说 div 形成我的数据对象 我做了一个这样的对象 var div style width Math floor Math random 100 height Math floor Math
  • java中同一数组的元素比较

    我正在尝试比较同一数组的元素 这意味着我想将 0 元素与其他所有元素进行比较 将 1 元素与其他所有元素进行比较 依此类推 问题是它没有按预期工作 我所做的是我有两个从 0 到 array length 1 的 for 循环 然后我有一个
  • 从 C# 中的 List 中选择 N 个随机元素

    我需要一个快速算法从通用列表中选择 5 个随机元素 例如 我想从 a 中获取 5 个随机元素List
  • 在Java中一次向ArrayList添加多个项目[重复]

    这个问题在这里已经有答案了 如何一次向 ArrayList 添加多个项目 ArrayList
  • 两个自定义(角度)元素之间的通信

    两个自定义 角度 元素之间的通信 假设有两个自定义元素 login button
  • jquery遍历新创建的元素

    我正在尝试在表中添加新行 并将它们保存到数据库中 首先 我使用 append 在表中追加行 tablename append tr td newly added row td tr 附加功能运行良好 我的页面显示了正确的结果 但是 我无法选
  • 两个列表中的公共元素

    我有两个ArrayList每个对象都有三个整数 我想找到一种方法来返回两个列表的共同元素 有人知道我该如何实现这一目标吗 Use Collection retainAll https docs oracle com en java java
  • 按位置获取元素?

    我正在研究 SVG 脚本 有 getElementById 或 getElementsByTagName 但我找不到任何方法来按位置获取元素 比如获取位置为x 10 y 10的元素 有什么办法可以实现这个目标吗 var yourElemen
  • ElementTree 和 Element 有什么区别? (Python XML)

    from xml etree ElementTree import ElementTree Element SubElement dump elem Element 1 sub SubElement elem 2 tree ElementT
  • 使用 xml.etree.ElementTree 更改 xml 元素文本

    给定一个已解析的 xml 字符串 tree xml etree ElementTree fromstring xml string 如何更改 帽子 元素的文本 gt gt gt tree find path to element text

随机推荐