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 相关文章推荐
点击文章内容处弹出页面代码
Oct 01 Javascript
超越Jquery_01_isPlainObject分析与重构
Oct 20 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
JavaScript实现三级级联特效
Nov 05 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
Sep 27 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 Javascript
详细聊聊vue中组件的props属性
Nov 02 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
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
php文件系统处理方法小结
2016/05/23 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Python日志模块logging简介
2015/04/13 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
电焊工工作岗位职责
2014/02/06 职场文书
出纳担保书范文
2014/04/02 职场文书
工作鉴定评语
2014/05/04 职场文书
学习经验演讲稿
2014/05/10 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python