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 相关文章推荐
比较详细的javascript对象的property和prototype是什么一种关系
Aug 06 Javascript
基于jquery的checkbox下拉框插件代码
Jun 25 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
JavaScript实现简单的星星评分效果
May 18 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
JSONP原理及应用实例详解
Sep 13 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
Oct 08 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简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
如何在PHP中读写文件
2020/09/07 PHP
js indexOf()定义和用法
2012/10/21 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
python判断端口是否打开的实现代码
2013/02/10 Python
Python的函数的一些高阶特性
2015/04/27 Python
python url 参数修改方法
2018/12/26 Python
python实现随机漫步方法和原理
2019/06/10 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
django如何通过类视图使用装饰器
2019/07/24 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
extern在函数声明中是什么意思
2014/01/19 面试题
个人委托书范本
2014/04/02 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
2014年技术部工作总结
2014/12/12 职场文书
参观邀请函范文
2015/02/02 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书