vue数据层思路_vue层级关系的数据管理
项目背景:为一些有层级关系的数据管理做一套后台管理系统,例如一个小区,里面是有许多楼,楼里有许多层,每一层有许多不同的房······,现在就是要实现对这些数据进行增删改查操作。 1.Tree(树形组件)
Sublime Text 3左侧的项目目录,就是有一定层级关系的“数据”被组织成Tree,然后单击各子树,会呈现不一样的内容,因此可借用这个设计思想来设计这一套系统的导航功能。为什么要做这个导航功能,因为若要简单实现,直接用一个选择器组件,放入所有可选项让用户进行选择即可,然而这样做的友好度不够。
例如,一哥们想进入小区内的A楼,13层找到1304房,而选择器实现无非2种方式:
第一种,级联选择器,我利用E UI里的级联选择器组件,未找到很好的动态追加选项的方法。
第二种,选择器备选项进行分组显示,这样首先是导致备选项数量冗长;其次需要一次性加载所有的数据,通常很多数据是用不上的,因此浪费服务器资源。
我的方式是,利用 Tree树形组件进行懒加载,未利用的数据不加载,单击箭头图标进行加载,单击树节点名称进行内容导航。以下是部分代码展示:
handleNodeClick(obj,node,data) {
if (node.level === 1) {
this.$router.push('/ldTable');
}else if (node.level === 2) {
this.$router.push('/lcTable/'+node.data.lcId+'/'+node.data.name);
}else if (node.level === 3) {
}else if (node.level === 4) {
}else if (node.level === 5) {
}
}
懒加载部分:
loadNode(node, resolve) {
if (node.level === 0) { //level是树的层级
return resolve([{ name: '列表' }]); //初始树节点
}
if (node.level === 1) { //层级为1的数据,层级2 3 4 5类同
this.$axios.get('http:// ?', {
params: {
pageNo: 1
}
})
.then(function (response) {
//拼装数据,[object]
let params=[]
for(let i=0;i
let param={leaf:false,name:'',ldId:''}
param.leaf=false;
param.name=response.data.data[i].ldName;
param.ldId=response.data.data[i].id; //存储楼的id
params.push(param);
}
return resolve(params);
})
.catch(function (error) {
console.log(error);
});
}
}
2.router
在Demo里,已经有两层路由的嵌套,而我们现在要利用树导航,则需要第三层路由嵌套,需要弄清以下问题:
① 上一层路由是什么,也就是第二层路由是什么,设置好router配置文件的Children
② 相应的也要嵌套,第一层在App.vue,第二层在外部导航菜单Home.vue里,第三层必须在显示树节点的文件里,因为要求同一页面上内容,左侧导航右侧显示,所以第三层路由显示内容的位置是在Home.vue的router-view显示内容里的router-view
其他,例如考虑到兼容问题,用 mode:'hash' ,设置参数用以传递id和层级传递信息(注意:非层际)
存在的问题:当我们已显示第三层内容时,单击左侧导航菜单(第二层),会无法切换,必须先点击树的任意节点,再点击导航菜单才可正常切换。 3.关于table的格式化显示
例如,我想当变量flag为1时,显示在家,为0时,显示离家。则需要用到格式化显示,具体实现如下:
formatter1(row, column) {
if(row.flag==='1'){ //身份
return '房主'
}else{
return '房客'
}
}
vue数据层思路_vue层级关系的数据管理相关推荐
- js中将有层级关系的一维数据转换为父子级关系的二维数据、菜单权限三级层级数据实现(树形结构数据)
很久没有发文了,今天发点不一样的,如下: <script>// 一维数据:let arrData=[{ r_id: 1, role_name: '开发商', n_id: 1, txt: ' ...
- Web中树形数据(层级关系数据)的实现—以行政区树为例
在Web开发中常常遇到树形数据的操作,如菜单.组织机构.行政区(省.市.县)等具有层级关系的数据. 以下以行政区为例说明树形数据(层级关系数据)的存储以及实现,效果如图所看到的. 1 数据库表结构设计 ...
- redis中以层级关系、目录形式存储数据
使用redis存储数据的时候,有时候为了查看的方便,通常会有层级或者说是目录,这时候我们在set的时候,需要将key值使用":"的符号来区分层级关系,比如:set("a: ...
- 样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验
1.样式的层级关系:一个是权重,另一个就是共用样式和私用样式了,比如说两个ul,它们的子元素除了背景色之外都一样,那可以直接用li {}来定义相同的公用样式,用 .ul_1 li {} , .ul_2 ...
- vue.js组件数据绑定_Vue.js的增强的数据透视表组件
vue.js组件数据绑定 VUE数据透视表加 (vue-pivot-table-plus) A customized vue component for pivot table. 数据透视表的定制vu ...
- 从BAT看企业构建大数据体系的六层级
文章讲的是从BAT看企业构建大数据体系的六层级,本文将企业大数据体系的构建分为六个层级,但并非是线性过程,每个层级之间或有基础关系,但并不是说一定要逐层构建.例如创业型公司,在缺乏数据研发实力的时候, ...
- vue 递归组件多级_Vue递归组件实现树形结构菜单
Tree 组件是递归类组件的典型代表,它常用于文件夹.组织架构.生物分类.国家地区等等,世间万物的大多数结构都是树形结构.使用树控件可以完整展现其中的层级关系,并具有展开收起选择等交互功能. 如图所示 ...
- 前端 重构时需要注意的事项_前端数据层落地实践
源宝导读:天际移动平台经过重构改版,近期正式发布了1.0版本,我们在低代码开发方面做了进一步增强.本文主要围绕前端Model.前端业务逻辑(领域模型).数据层与视图层解耦(包装器模式)3个方面,给大家 ...
- 分布式系统数据层设计模式
分布式系统数据层设计模式 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) React 入门实战(干货) 构建中 ...
- Vue源码解读一:Vue数据响应式原理
这方面的文章很多,但是我感觉很多写的比较抽象,本文会通过举例更详细的解释.(此文面向的Vue新手们,如果你是个大牛,看到这篇文章就可以点个赞,关掉页面了.)通过阅读这篇文章,你将了解到: 1.Vue数 ...
最新文章
- spring boot--最基础的hello world
- DA14580做主机
- mysql四:数据操作
- 新功能:阿里云负载均衡支持HTTP/2、WSS协议
- Java面向对象编程篇4——内部类
- 找到MVC框架中前端URL与后端同步的解决方案
- 配置多个ssh-key
- 图像椒盐噪声和高斯噪声
- Python开发环境搭建方法简述
- mysql的数据库的索引_MySql数据库索引原理
- 玩转树莓派——游戏主机模拟器
- 抢红包算法之线段切割法的python简单实现
- 数据分析师就业前景怎么样?零基础能成为数据分析师吗?
- spring技术详解
- c++ hough变换代码_基于Haar小波和Log-Gabor变换的虹膜识别方法
- 想成为小说家?这款儿童键盘让我的创作欲爆棚!
- python 保障系统(一)
- 端口扫描器(masscan)
- 灰狼优化算法GWO优化SVM支持向量机惩罚参数c和核函数参数g,有例子
- 替换word中的软回车
热门文章
- Allergo 无法修改单位
- html语言 图片大小,html如何设置图片大小
- CDR插件开发之GMS插件003 - 编写你的第一个GMS插件
- 延安.居民家庭计算机普及率,2004~2014年家庭互联网普及率及电脑持有率
- 4部网页配色电子书库之第3部——网页配色方案速查表
- Python输入若干整数求和
- 纯Vue实现网页日常任务清单小功能(数据存储在浏览器)
- php编程模块英文缩写_PHP版国家代码、缩写查询函数代码
- WPS-Word : 页首的段落段前间距失效/不起作用/无效,段前一行无效没反应
- 简述整车级电子电器架构开发内容