基于element-tree-table树型表格点击节点请求数据展开树型表格
效果:

引用CSS、JS:
Vue、element-ui、Axios
treeTable: https://github.com/ProsperLee/element-tree-grid
模拟根据父id请求子数据的JSON:
// data.json
[{
"id": "a1",
"name": "一级-1",
"parentId": "000"
}] // node.json
[{
"id": "123",
"name": "二级-1-1",
"parentId": "a1"
}, {
"id": "123",
"name": "二级-1-2",
"parentId": "a1"
}, {
"id": "123",
"name": "二级-1-3",
"parentId": "a1"
}]
HTML部分:
<div id="app">
<el-table :data="data">
<el-table-column type="index" label="#"></el-table-column>
<el-table-tree-column :remote="remote" prop="name" parent-key="parentId" label="NAME"></el-table-tree-column>
<el-table-column prop="name" label="NAME"></el-table-column>
</el-table>
</div>
JS部分:// 注意属性表格要显示展开箭头需要加入 child_num 属性
new Vue({
el: "#app",
data: {
data: []
},
methods: {
remote(row, callback) {
var that = this;
axios.get("./json/node.json", null)
.then(function (response) {
row.child_num = response.data.length; // 父级有几个孩子
var count = row.depth+1;
response.data.forEach((element)=>{ // 循环孩子
// element.child_num = 1;
element.depth = count;
})
var len = response.data.length;
for(var i = 0; i < len; i++){
if(response.data[i].parentId == row.id){
response.data.unshift(0,0); // 数组前面添加元素
Array.prototype.splice.apply(that.data, response.data); // 指定位置拼接两个数组
break;
}
}
callback(that.data.filter(f => f['parentId'] == row['id']))
})
.catch(function (error) {
console.log(error);
})
},
// 获取根节点
getParentIdData(){
var that = this;
axios.get("./json/data.json", null)
.then(function (response) {
response.data.forEach(element => {
element.child_num = 1;
element.depth = 0;
});
that.data = response.data;
})
.catch(function (error) {
console.log(error);
})
}
},
created() {
this.getParentIdData();
},
})
基于element-tree-table树型表格点击节点请求数据展开树型表格的更多相关文章
- element ui table组件自定义合计栏,后台给的数据
合计的数据是后台传的,所以用table组件自定义一行用来合计 <el-table border fit v-loading.body="listLoading" elemen ...
- 【zTree】zTree展开树节点
今天在做zTree树的时候想着将第一级tree展开,于是利用下面方法: /** * 展开树节点的第一层 */ function openFirstTreenode(){ // 获取树对象 var tr ...
- 手把手教学~基于element封装tree树状下拉框
在日常项目开发中,树状下拉框的需求还是比较常见的,但是element并没有这种组件以供使用.在这里,小编就基于element如何封装一个树状下拉框做个详细的介绍. 通过这篇文章,你可以了解学习到一个树 ...
- 封装Vue Element的table表格组件
上周分享了几篇关于React组件封装方面的博文,这周就来分享几篇关于Vue组件封装方面的博文,也好让大家能更好地了解React和Vue在组件封装方面的区别. 在封装Vue组件时,我依旧会交叉使用函数式 ...
- jquery的tree table(树表)
因项目需要,需要在表格中加入tree,使用了jquery的tree table,经美化,完美兼容各种框架的table: 请移步下载tree table 的js文件及css文件等,http://ludo ...
- element ui table(表格)点击一行展开
element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...
- vue,基于element的tree组件封装
封装组件代码 // 组件:树 /* 参数说明-属性: 1.treeData:展示数据(array) 2.treeEmptyText:内容为空的时候展示的文本(String) 3.treeNodeKey ...
- element el-table表格的vue组件二次封装(附表格高度自适应)
基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...
- python 解析xml 文件: Element Tree 方式
环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...
随机推荐
- Egg 中 Controller 最佳实践
得益于 JavaScript 加入的 decorator 特性,可以使我们跟 Java/C# 一样,更加直观自然的,做面向切面编程.而随着 TypeScript 的成熟,类型系统也让我们增强了信心,面 ...
- MYSQL手册
原文出处:http://www.cnblogs.com/gaofei-1/p/7152875.html MySQL配置文件 MySQL软件使用的配置文件名为my.ini,在安装目录下. MySQL常用 ...
- [Swift]LeetCode88. 合并两个有序数组 | Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...
- [Swift]LeetCode515. 在每个树行中找最大值 | Find Largest Value in Each Tree Row
You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ \ 5 3 ...
- [Swift]LeetCode895. 最大频率栈 | Maximum Frequency Stack
Implement FreqStack, a class which simulates the operation of a stack-like data structure. FreqStack ...
- 【java设计模式】(4)---工厂模式(案例解析)
设计模式之工厂模式 工厂模式分三种:简单工厂模式(也叫静态工厂模式),工厂方法模式(也叫多形性工厂),抽象工厂模式(也叫工具箱)下面会一一举例. 一.概念 1.什么是工厂模式 这种类型的设计模式属于创 ...
- pdf生成库-libharu编译
相关文章:libharu 源码编译 VS2010 1.首先下载libharu源码,libharu依赖于libpng和libzib,如果编译过libpng和libzib的话,直接拿过来用即可.否则需要自 ...
- Koa 框架常用知识点整理
简介 Koa 就是一种简单好用的 Web 框架.它的特点是优雅.简洁.表达力强.自由度高.本身代码只有1000多行,所有功能都通过插件实现. 学前准备 检查Nodejs版本 打开cmd命令行窗口nod ...
- leetcode — remove-duplicates-from-sorted-list
/** * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/ * * * Given a so ...
- 2.计算机组成-数字逻辑电路 门电路与半加器 异或运算半加器 全加器组成 全加器结构 反馈电路 振荡器 存储 D T 触发器 循环移位 计数器 寄存器 传输门电路 译码器 晶体管 sram rom 微处理 计算机
现代计算机的各个部件到底是如何通过逻辑电路构成的呢 半加器 我们说过了门电路 看似简单的三种门电路却是组成了整个逻辑电路的根基 真值表--其实就是根据输入输出状态枚举罗列出来的所有可能 比如有一台 ...