我就废话不多说了,大家还是直接看代码吧`
let label(){ let _this = this; let _offset = (_this.pagination.currentPage - 1) * _this.pagination.pageSize let params ={ offset:_offset,//分页偏移量 limit:_limit,//分页查询数量 } labelView(",params).then(res=>{ _this.list = res.data.data _this.pagination.total = res.data.pagination.total; //转换数据 let treeDataArray = new Array(); const element = _this.list let obj={ name:"", isExpand:true, children:new Array() } treeDataArray.push(obj); for(let dd1 = 0;dd1<_this.list.length;dd1++){ const element = _this.list[dd]; let obj1 ={ root:true, isExpand:true, name:element['model'], children:new Array() } obj.children.push(obj1); for(let dd2 = 0;dd2<element.label.length;dd2++){ const element2 = element.label[dd2]; let obj2 = { name:element['label2'], isExpand:true, children:new Array() }; obj1.children.push(obj2); for(let dd3 = 0;dd3<element2['label3'].length;dd3++){ const element3 = element2['label3'][dd3]; obj2.children.push({ name:element3, }) } } } _this.treeList = treeDataArray;
补充知识:Vue中使用Map数据结构的坑, 直接set 无法触发 双向数据绑定(解决方案)
1. 因为想贯彻es6的使用, 在项目中 多多使用 es6 的特性, 结果Map 的 set 方法去更新数据, 视图无法同步,
故而使用重新设置的方式达到目的, 类似
let obj = Object.assign({},{})
或者
let arr = [].concat['a']
let no = server_no.toString() let is_check = this.collated_data.get(no).is_check this.collated_data.get(no).is_check = !is_check // 使用Map数据结构只能这样更新 this.collated_data = new Map(this.collated_data)
重新赋值, 而不是更改引用。
以上这篇VUE前端从后台请求过来的数据进行转换数据结构操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长技术。
【排序算法】之lowb三人组冒泡、插入、选择 什么是lowb三人组 冒泡排序bubble so...
ADO对象: Connection Command Recordset Record Stream ASP支持的对象很多,可...
一石激起千层浪,继中国区浩浩荡荡的大裁员告一段落之后,甲骨文并未因此收起手...
本文将研究 ES6 的 for ... of 循环。 旧方法 在过去,有两种方法可以遍历 javas...
歌词编辑器 歌词编辑器 第一步:选择要播放的歌曲并播放 第二步:填写全部的歌词...
vbs:把一段文字中指定字符颜色变成红色的正则 functionc(Tstr,Word) Dimre Setre...
微信文件传输助手是微信电脑版与手机微信之间相互传输图片等文件的好工具,但很...
前言 相信大家都知道在IDE中代码的智能提示几乎都是标配,虽然一些文本编辑器也...
计算属性computed: 支持缓存,只有依赖数据发生改变,才会重新进行计算 不支持...
一、正则表达式概述 二、正则表达式在VBScript中的应用 三、正则表达式在VavaScr...