当前位置:首页 > VUE

vue ztree实现拖拽

2026-01-18 09:36:19VUE

实现 Vue 中 ZTree 的拖拽功能

在 Vue 项目中实现 ZTree 的拖拽功能,通常需要结合 jQuery 的 ZTree 插件。以下是具体实现方法:

安装依赖

确保项目中已引入 jQuery 和 ZTree 相关资源:

npm install jquery ztree

或在 HTML 中直接引入 CDN 链接:

vue ztree实现拖拽

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.48/css/zTreeStyle/zTreeStyle.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.48/js/jquery.ztree.core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.48/js/jquery.ztree.exedit.min.js"></script>

初始化 ZTree 配置

在 Vue 组件的 mounted 钩子中初始化 ZTree,并启用拖拽功能:

mounted() {
  const setting = {
    edit: {
      enable: true,
      showRemoveBtn: false,
      showRenameBtn: false
    },
    view: {
      selectedMulti: false
    },
    callback: {
      beforeDrop: this.beforeDrop,
      onDrop: this.onDrop
    }
  };

  const zNodes = [
    { id: 1, pId: 0, name: "父节点1", open: true },
    { id: 11, pId: 1, name: "子节点1" },
    { id: 12, pId: 1, name: "子节点2" }
  ];

  $.fn.zTree.init($("#treeDemo"), setting, zNodes);
}

处理拖拽事件

实现拖拽前后的回调函数:

vue ztree实现拖拽

methods: {
  beforeDrop(treeId, treeNodes, targetNode, moveType) {
    // 返回 true 允许拖拽,false 禁止拖拽
    return true;
  },
  onDrop(event, treeId, treeNodes, targetNode, moveType) {
    // 拖拽完成后的逻辑
    console.log("拖拽完成", treeNodes);
  }
}

模板结构

在 Vue 模板中添加 ZTree 容器:

<template>
  <div>
    <ul id="treeDemo" class="ztree"></ul>
  </div>
</template>

样式调整

确保 ZTree 容器有明确的高度:

.ztree {
  height: 400px;
  overflow-y: scroll;
}

注意事项

  1. 拖拽功能依赖 jquery.ztree.exedit.min.js,必须引入该文件。
  2. 若拖拽无效,检查是否设置了 edit.enable: true
  3. 可通过 setting.edit.drag 配置拖拽范围(如 { inner: true } 限制同级拖拽)。

通过以上步骤,即可在 Vue 中实现 ZTree 的节点拖拽功能。

标签: 拖拽vue
分享给朋友:

相关文章

vue实现aop切面

vue实现aop切面

Vue 实现 AOP 切面编程的方法 在 Vue 中实现 AOP(面向切面编程)可以通过多种方式,以下是几种常见的实现方法: 使用 Vue 混入(Mixins) Vue 的混入机制可以用于实现横切关…

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template…

vue登录业务的实现

vue登录业务的实现

实现登录业务的基本流程 在Vue中实现登录业务通常涉及前端界面设计、表单验证、API请求交互、状态管理以及路由控制等环节。以下是核心实现步骤: 登录表单设计与验证 创建包含用户名和密码输入框的登录…

vue实现展开与收起

vue实现展开与收起

Vue 实现展开与收起功能 在 Vue 中实现展开与收起功能可以通过多种方式完成,以下是一些常见的方法: 使用 v-show 或 v-if 控制显示 通过 Vue 的指令 v-show 或 v-i…

前端实现拖拽功能vue

前端实现拖拽功能vue

实现拖拽功能的基本方法 在Vue中实现拖拽功能可以通过HTML5的拖放API或第三方库如vuedraggable来完成。HTML5的拖放API提供了原生支持,而vuedraggable则简化了列表拖拽…

vue设计与实现下载

vue设计与实现下载

vue设计与实现电子书下载 《Vue.js设计与实现》是一本深入解析Vue.js框架原理的书籍,由霍春阳(HcySunYang)撰写。以下是获取该资源的常见途径: 正版购买渠道 京东、…