VUE前端从后台请求过来的数据进行转换数据结构操作


Posted in Javascript onNovember 11, 2020

我就废话不多说了,大家还是直接看代码吧`

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前端从后台请求过来的数据进行转换数据结构操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
JavaScript之AOP编程实例
Jul 17 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
老生常谈Bootstrap媒体对象
Jul 06 Javascript
js图片上传的封装代码
Aug 01 Javascript
微信小程序中post方法与get方法的封装
Sep 26 Javascript
Vue中使用Sortable的示例代码
Apr 07 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
Apr 20 Javascript
vue mounted 调用两次的完美解决办法
Oct 29 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
Dec 06 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
Javascript中的this,bind和that使用实例
Dec 05 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 #Javascript
Vue 401配合Vuex防止多次弹框的案例
Nov 11 #Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 #Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 #Javascript
vue.js+element 默认提示中英文操作
Nov 11 #Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 #Javascript
vue 实现element-ui中的加载中状态
Nov 11 #Javascript
You might like
第十四节 命名空间 [14]
2006/10/09 PHP
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
js 异步处理进度条
2010/04/01 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
Python代码调试的几种方法总结
2015/04/15 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
python实现网站微信登录的示例代码
2019/09/18 Python
Python bytes string相互转换过程解析
2020/03/05 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
如何通过python检查文件是否被占用
2020/12/18 Python
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
小学新学期教师寄语
2014/01/18 职场文书
党建示范点实施方案
2014/03/12 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
2015年行政部工作总结
2015/04/28 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
python pygame入门教程
2021/06/01 Python