el-table 拖拽到 el-tree
时间: 2023-11-09 20:08:18 浏览: 242
可拖拽treeTable.zip
将 el-table 拖拽到 el-tree 可以通过以下步骤实现:
1. 在 el-table 上绑定拖拽事件,例如 @dragstart、@dragend 等。
2. 在拖拽事件中获取需要拖拽的数据,并将数据存储到 dataTransfer 中。
3. 在 el-tree 上绑定放置事件,例如 @dragover、@drop 等。
4. 在放置事件中获取 dataTransfer 中存储的数据,并将数据插入到 el-tree 中。
具体实现可以参考以下代码:
```html
<template>
<div>
<el-table @dragstart="handleDragStart" @dragend="handleDragEnd">
<!-- 表格内容 -->
</el-table>
<el-tree @dragover.prevent @drop="handleDrop">
<!-- 树形结构内容 -->
</el-tree>
</div>
</template>
<script>
export default {
methods: {
handleDragStart(event) {
// 获取需要拖拽的数据
const data = this.getData(event.target);
// 将数据存储到 dataTransfer 中
event.dataTransfer.setData('text/plain', JSON.stringify(data));
},
handleDragEnd(event) {
// 拖拽结束后的操作
},
handleDrop(event) {
// 获取 dataTransfer 中存储的数据
const data = JSON.parse(event.dataTransfer.getData('text/plain'));
// 将数据插入到 el-tree 中
this.$refs.tree.$tree.store.append({ data });
},
getData(target) {
// 获取表格中选中的数据
const row = target.closest('tr');
const rowIndex = row.rowIndex - 1;
return this.tableData[rowIndex];
},
},
};
</script>
```
阅读全文