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操作cookie_获取与修改代码
May 21 Javascript
img onload事件绑定各浏览器均可执行
Dec 19 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
javascript使用call调用微信API
Dec 15 Javascript
jQuery实现复选框批量选择与反选的方法
Jun 17 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
JavaScript禁用右键单击优缺点分析
Jan 20 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 Javascript
es6中比较有用的7个技巧小结
Jul 12 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
JavaScript获取页面元素的常用方法详解
Sep 28 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 抽象类的简单应用
2011/09/06 PHP
php实现加减法验证码代码
2014/02/14 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
Python 读写文件的操作代码
2018/09/20 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
详解python算法之冒泡排序
2019/03/05 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
交通安全教育制度
2014/02/02 职场文书
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
java实现对Hadoop的操作
2021/07/01 Java/Android
Nebula Graph解决风控业务实践
2022/03/31 MySQL
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技