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);
}

效果图:

相关推荐
2301_8210465211 小时前
Python的深度学习
开发语言·javascript·ecmascript
小高00711 小时前
🤔函数柯里化:化繁为简的艺术与实践
前端·javascript·面试
却尘11 小时前
React useMemo 依赖陷阱:组件重挂载,状态无限复原
前端·javascript·react.js
Asort11 小时前
JavaScript 从零开始(三):浏览器控制台与VS Code协同工作环境搭建详解
前端·javascript
葡萄城技术团队11 小时前
浏览器为啥要对 JavaScript 定时器“踩刹车”?
javascript
m0_6161884912 小时前
el-table的隔行变色不影响row-class-name的背景色
前端·javascript·vue.js
zheshiyangyang12 小时前
Vue3组件数据双向绑定
前端·javascript·vue.js
大翻哥哥12 小时前
Python上下文管理器进阶指南:不仅仅是with语句
前端·javascript·python
Monly2113 小时前
Vue:下拉框多选影响行高
前端·javascript·vue.js
小桥风满袖13 小时前
极简三分钟ES6 - ES8中对象扩展
前端·javascript