el-tree多选的父子关联和父子不关联和拖拽功能

公用js变量:

javascript 复制代码
data () {
    return {
       // 绑定的数组
       treeData: [],
       // 多选选择的id
       ids: []
    }
},

公用js方法:

javascript 复制代码
/**
 * 选择多选改变
 */
nodeChange(data, checked, indeterminate) {
  let keys = this.$refs.treeCategory.getCheckedKeys();
  this.ids = keys;
}

第一种 父子关联属性:

html:

html 复制代码
<el-tree ref="treeCategory" :data="treeData" :default-expand-all='true'
  :expand-on-click-node="false" show-checkbox node-key="id"
  :default-checked-keys="ids" @check-change="nodeChange">
</el-tree>

效果图:

第二种 父子不关联属性:

html:

html 复制代码
<el-tree ref="treeCategory" :data="treeData" :default-expand-all='true'
  :expand-on-click-node="false" show-checkbox node-key="id"
  :default-checked-keys="ids" @check-change="nodeChange" check-strictly>
</el-tree>

效果图:

第三种 拖拽属性:

html:

html 复制代码
<el-tree ref="treeCategory" :data="treeData" :default-expand-all='true'
  :expand-on-click-node="false" show-checkbox node-key="id"
  :default-checked-keys="ids" @check-change="nodeChange" check-strictly
  draggable @node-drop="handleDrop">
</el-tree>

js方法:

javascript 复制代码
/**
 * tree拖拽完成
 */
handleDrop(draggingNode, dropNode, dropType, ev) {
  console.log(draggingNode);
  console.log(dropNode);
}

效果图:

相关推荐
coderyi35 分钟前
LLM Agent 浅析
前端·javascript·人工智能
我叫黑大帅37 分钟前
TypeScript 6.0 弃用选项错误 TS5101 解决方法
javascript·后端·面试
科雷软件测试40 分钟前
使用python+Midscene.js AI驱动打造企业级WEB自动化解决方案
前端·javascript·python
We་ct1 小时前
LeetCode 120. 三角形最小路径和:动态规划详解
前端·javascript·算法·leetcode·typescript·动态规划
|晴 天|2 小时前
Vue 3 + LocalStorage 实现博客游戏化系统:成就墙、每日签到、积分商城
前端·vue.js·游戏
changshuaihua0014 小时前
React 入门
前端·javascript·react.js
掘金安东尼4 小时前
本周前端与 AI 技术情报|前端下一步 #462
前端·javascript·面试
qq_12084093714 小时前
Three.js 工程向:实例化渲染 InstancedMesh 的批量优化
前端·javascript
WebInfra5 小时前
Rspack 2.0 正式发布!
前端·javascript·前端框架
前端那点事5 小时前
Vue响应式原理|从底层实现到面试考点,一文吃透(Vue2+Vue3全解析)
前端·vue.js