当前位置: 首页 > news >正文

返利网站 帐如何做/成人就业技术培训机构

返利网站 帐如何做,成人就业技术培训机构,一诺建站,独立网站建设费用列表前言:vue开发项目时用到了element-ui的树组件,但是发现一执行过滤事件,树就全部都展开了,为了解决这个问题,只能自己先过滤数剧,再赋值给树组件的data,就避免了一上来全部展开的尴尬。 一、简单…

前言:vue开发项目时用到了element-ui的树组件,但是发现一执行过滤事件,树就全部都展开了,为了解决这个问题,只能自己先过滤数剧,再赋值给树组件的data,就避免了一上来全部展开的尴尬。

一、简单版本

  1         data() {
  2             return {
  3                 shopsData: [],
  4                 arrData: [{
  5                     label: '一级 1',
  6                     children: [{
  7                         label: '二级 1-1',
  8                         children: [{
  9                             label: '三级 1-1-1'
 10                         }]
 11                     }]
 12                 }, {
 13                     label: '一级 2',
 14                     children: [{
 15                         label: '二级 2-1',
 16                         children: [{
 17                             label: '三级 2-1-1'
 18                         }]
 19                     }, {
 20                         label: '二级 2-2',
 21                         children: [{
 22                             label: '三级 2-2-1'
 23                         }]
 24                     }]
 25                 }, {
 26                     label: '一级 3',
 27                     children: [{
 28                         label: '二级 3-1',
 29                         children: [{
 30                             label: '三级 3-1-1'
 31                         }]
 32                     }, {
 33                         label: '二级 3-2',
 34                         children: [{
 35                             label: '三级 3-2-1'
 36                         }]
 37                     }]
 38                 }]
 39             }
 40         },
 41         methods: {
 42             filterByName(menu, type, name) { //过滤树组件
 43                 var menuNew = [];
 44                 for (var i = 0; i < menu.length; i++) {
 45                     var nodeNew = undefined;
 46                     var node = menu[i]; //同级的每一个根节点
 47                     var childrenNode = node.children; //子节点
 48                     var childrenMenu = [];
 49 
 50                     if (childrenNode) {
 51                         if (childrenNode.length > 0) { //子节点下面的子节点递归
 52                             childrenMenu = this.filterByName(childrenNode, type, name);
 53                         }
 54                     }
 55 
 56                     if (childrenMenu) {
 57                         if (childrenMenu.length > 0) {
 58                             nodeNew = new Object();
 59                             nodeNew = this.nodeFillNewFromOld(node, nodeNew);
 60                             nodeNew.sublist = childrenMenu; //复制子节点
 61                         } else {
 62                             if (this.checkNodeEquals(node, type, name)) {
 63                                 nodeNew = new Object();
 64                                 nodeNew = this.nodeFillNewFromOld(node, nodeNew);
 65                             }
 66                         }
 67                     }
 68                     if (nodeNew) {
 69                         menuNew.push(nodeNew);
 70                     }
 71                 }
 72 
 73                 return menuNew;
 74             },
 75             nodeFillNewFromOld(oldNode, newNode) { //添加属性
 76                 newNode.disabled = oldNode.disabled;
 77                 newNode.enabled = oldNode.enabled;
 78                 newNode.level = oldNode.level;
 79                 newNode.name = oldNode.name;
 80                 newNode.onlyHasShop = oldNode.onlyHasShop;
 81                 newNode.orgType = oldNode.orgType;
 82                 newNode.orgcode = oldNode.orgcode;
 83                 newNode.parentCode = oldNode.parentCode;
 84                 newNode.prmType = oldNode.prmType;
 85                 newNode.showPage = oldNode.showPage;
 86                 newNode.children = oldNode.children;
 87 
 88                 return newNode;
 89             },
 90             checkNodeEquals(node, type, name) { //过滤条件
 91                 if (node.type === 2) {
 92                     node.disabled = true
 93                 }
 94                 if (node.orgcode.indexOf(name) === 0) {
 95                     return true;
 96                 } else {
 97                     return false;
 98                 }
 99             }
100         },
101         mounted() {
102             this.shopsData = this.filterByName(this.arrData, 'label', '二级 2-1');
103         }

二、升级版本

 1         filterTree(nodes, predicate, childKey = 'children') { //predicate过滤条件函数
 2             if (!nodes || !nodes.length) return void 0
 3             const children = []
 4             for (let node of nodes) {
 5                 node = Object.assign({}, node)
 6                 const sub = this.filterTree(node[childKey], predicate, childKey)
 7                 if ((sub && sub.length) || predicate(node)) {
 8                     sub && (node[childKey] = sub)
 9                     children.push(node)
10                 }
11             }
12             return children.length ? children : void 0
13         },
14         shopfilterNode(data) { //过滤条件
15             if (data.orgType === 2) {
16                 data.disabled = true
17             }
18             return data.prmType >= 0 && data.orgcode.indexOf(this.groupcode) === 0;
19         },
20         mounted() {
21             this.shopsData = this.filterTree(this.arrData, this.shopfilterNode, 'sublist')
22         }

 

转载于:https://www.cnblogs.com/woniubushinide/p/10572169.html

http://www.lbrq.cn/news/1050949.html

相关文章:

  • .la域名做的网站/东莞营销网站建设优化
  • ftp网站目录/百度指数1000搜索量有多少
  • 河北省建设厅注册中心网站/什么叫网络营销
  • 中国菲律宾商会/百度seo排名点击器app
  • 白熊阅读做网站架构/线上营销策略有哪些
  • 美食网站怎样做锅包肉/百度官方客服平台
  • 做饼的网站/免费学生网页制作成品代码
  • 信息化建设办公室网站/seo网站推广优化论文
  • 视频怎么添加wordpress/西安关键词seo
  • 一个做搞笑类视频的网站取名/北京做网站推广
  • 关于服装的商务网站建设策划书/企业宣传软文
  • 河北今日发生的重大新闻/网站seo推广方案
  • 浙江直播网站建设/seo诊断站长
  • java高端网站建设/有域名后如何建网站
  • 做本地网站怎么挣钱/seo排名优化软件
  • 做赌博网站被抓没盈利/百度用户服务中心官网
  • 邯郸企业网站建设费用/如何做免费网站推广
  • 建设公司网站征集信息的通知/网络营销方式有几种
  • 苹果网站做的好的点/app推广团队
  • 排名好的徐州网站建设/广州企业推广
  • 泰兴建设局网站/企业培训十大热门课程
  • 临安区规划建设局网站/网络软文是什么
  • 计算机毕业论文代做网站/steam交易链接怎么改
  • 网站css图标大小/b站视频推广网站
  • 杭州做宠物网站的公司哪家好/真正免费的网站建站
  • 做评选活动的网站/网络营销推广实训报告
  • 苏州网站建设与网络营销/上海营销公司
  • 做外贸网站市场/全网网络营销
  • 政府网站建设构想/链交换
  • 福州网站建设索q479185700/网站代搭建维护
  • 9. 堆和栈有什么区别
  • Javaweb - 14.1 - 前端工程化
  • ISL9V3040D3ST-F085C一款安森美 ON生产的汽车点火IGBT模块,绝缘栅双极型晶体管ISL9V3040D3ST汽车点火电路中的线圈驱动器
  • 项目一系列-第4章 在线接口文档 代码模板改造
  • 文件管理从基础到高级:文件描述符、超大文件切片重组与快速删除实战
  • 解决flex元素内部文本溢出的问题min-width: 0