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 相关文章推荐
document.all与WEB标准
May 13 Javascript
最短的IE判断代码
Mar 13 Javascript
Javascript计算时间差的函数分享
Jul 04 Javascript
JavaScript 不支持 indexof 该如何解决
Mar 30 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
May 20 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
详解javascript 变量提升(Hoisting)
Mar 12 Javascript
Layui table field初始化加载时进行隐藏的方法
Sep 19 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP 彩色文字实现代码
2009/06/29 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php实现异步数据调用的方法
2015/12/24 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Python计算信息熵实例
2020/06/18 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
测绘工程本科生求职信
2013/10/10 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
大学应届生的自我评价
2014/03/06 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang