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 相关文章推荐
在html页面中包含共享页面的方法
Oct 24 Javascript
Javascript Function对象扩展之延时执行函数
Jul 06 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
Angular工具方法学习
Dec 26 Javascript
微信小程序 详解页面跳转与返回并回传数据
Feb 13 Javascript
Vue项目中ESlint规范示例代码
Jul 04 Javascript
javascript自定义右键菜单插件
Dec 16 Javascript
JavaScript观察者模式原理与用法实例详解
Mar 10 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
vue-路由精讲 二级路由和三级路由的作用
Aug 06 Javascript
Vue和Flask通信的实现
May 19 Vue.js
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
调频问题解答
2021/03/01 无线电
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
django 简单实现登录验证给你
2019/11/06 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
存储过程和函数的区别
2013/05/28 面试题
工艺工程师工作职责
2013/11/23 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
商家认证委托书格式
2014/10/16 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
mysql的单列多值存储实例详解
2022/04/05 MySQL
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android