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 相关文章推荐
基于jQuery的图片大小自动适应实现代码
Nov 17 Javascript
Jquery实现视频播放页面的关灯开灯效果
May 27 Javascript
JQ获取动态加载的图片大小的正确方法分享
Nov 08 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
Apr 22 Javascript
Javascript writable特性介绍
Feb 27 Javascript
跟我学习javascript的浮点数精度
Nov 16 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
基于jquery二维码生成插件qrcode
Jan 07 Javascript
Webpack path与publicPath的区别详解
May 03 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
May 10 Javascript
JS实现简易留言板(节点操作)
Mar 16 Javascript
js实现浏览器打印功能的示例代码
Jul 15 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
PHP实现图片压缩
2020/09/09 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
JavaScript 特殊字符
2007/04/05 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
python使用nntp读取新闻组内容的方法
2015/05/08 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
基于python历史天气采集的分析
2019/02/14 Python
python加载自定义词典实例
2019/12/06 Python
python实现将视频按帧读取到自定义目录
2019/12/10 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
中专毕业生自我鉴定范文
2013/11/09 职场文书
期中考试后的反思
2014/02/08 职场文书
优秀毕业生事迹材料
2014/02/12 职场文书
就业意向书范文
2014/04/01 职场文书
低碳生活倡议书
2014/04/14 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
先进个人申报材料
2014/12/30 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书