当前位置: 首页 > article >正文

实现简易 vuedraggable 的拖拽排序功能

一、案例效果

  • 拖拽计数4实现手动排序
    在这里插入图片描述
    在这里插入图片描述

二、案例代码



 <draggable
     :list="searchResult.indicator"
    :group="{ name: 'indicators' }"
    item-key="field"
    handle=".drag-handle-icon"
  >
    <div
      class="field-item"
      v-for="(item, index) in searchResult.indicator"
      :key="index"
    >
      <span>{{ item.name }}({{ item.field }})</span>
      <mtd-tooltip content="文字内容" placement="top">
        <span class="cursor-pointer"
          ><mtd-icon name="warning-circle-o"></mtd-icon
        ></span>
      </mtd-tooltip>
      <mtd-icon
        name="handle"
        class="drag-handle-icon cursor-pointer"
      ></mtd-icon>
    </div>
  </draggable>
  
<script lang="ts" setup name="DrawerContent">
import { ref } from 'vue';
import Draggable from 'vuedraggable';

const searchResult = ref({
  indicator: [
    { name: '计数', field: 'userid1' },
    { name: '计数指标', field: 'userid2' },
    { name: '计数指标1', field: 'userid3' },
    { name: '计数', field: 'userid4' },
    { name: '计数2', field: 'userid5' },
  ],
  polymerize: [
    { name: '计数', field: 'userid1' },
    { name: '聚合', field: 'userid2' },
    { name: '聚合1', field: 'userid3' },
    { name: '计数', field: 'userid4' },
  ],
});
</script>

三、总结

  1. 将 searchResult 改为响应式数据
  2. 为 draggable 组件添加 @end 事件处理器可写入对应逻辑
  3. 实现 onDragEnd 方法来更新数据

http://www.kler.cn/a/326890.html

相关文章:

  • C语言基础:指针(数组指针与指针数组)
  • AES 与 SM4 加密算法:深度解析与对比
  • 【星海随笔】删除ceph
  • 【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
  • vLLM (2) - 架构总览
  • 如何在谷歌浏览器中进行网络速度测试
  • Java入门3——操作符+String
  • 《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024
  • Vue 3 文件编译流程详解与 Babel 的使用
  • [Uninstall] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)
  • C#和数据库高级:虚方法
  • 安卓13禁止待机 永不休眠 android13永不休眠
  • JVM基本组成
  • Redis的数据类型常用命令
  • Python 学习入门笔记
  • smartctl 命令:查看硬盘健康状态
  • 【低功耗防山火在线监测装置】
  • nginx相关操作
  • selenium模块入门
  • 【Rust练习】16.方法和关联函数
  • helm部署ingress-nginx
  • Docker-2.如何保存数据退出
  • 什么是文件完整性监控(FIM)
  • ComfyUI新版本快捷键大全,快速提升效率,建议收藏
  • CMake教程(八):添加定制命令和生成的文件
  • 如何使用ssm实现白云会议管理系统+vue