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

网页设计与网站开发试题流量网站

网页设计与网站开发试题,流量网站,石家庄开发网站,博星卓越电子商务网站建设实训平台Element UI CascaderPanel级联组件使用和踩坑总结 问题背景 需求中需要用到Element UI的 CascaderPanel组件,并且支持多选,定制化需求,比如某节点被选择,等价于该节点下面所有子节点都被选择, CascaderPanel组件返回…

Element UI CascaderPanel级联组件使用和踩坑总结

问题背景

需求中需要用到Element UI的 CascaderPanel组件,并且支持多选,定制化需求,比如某节点被选择,等价于该节点下面所有子节点都被选择, CascaderPanel组件返回的选择数据为选择的所有节点,需要过滤到只返回到最上方被选中的层级。如图所示:
在这里插入图片描述

问题分析

(1)el-cascader-panel组件基本使用

                <el-cascader-panel ref="test" :options="myOptions" @change="handNodeChange('test')"  v-model="myOptionsSelectedAreas" :props="{ multiple: true }">

(2)过滤所有节点,过滤方法:!(item.parent && item.parent.checked),即排除掉父节点存在且被选中的节点,得到过滤后的节点:

            // 监听级联组件数据变化,隐藏父组件选择状态下的子组件。handNodeChange(value) {let checkedNodeList = this.$refs[value].getCheckedNodes();checkedNodeList = checkedNodeList.filter(item => {return !(item.parent && item.parent.checked);});this[value] = checkedNodeList;this.myOptionsStandardSelectedAreas = [];checkedNodeList.forEach(item => {this.myOptionsStandardSelectedAreas.push(item.path.join('-'));});},

(3)坑:最后一级即叶子结点,也有children只不过children=[],这就导致组件无法确定最后一级,所以无法触发change事件。把叶子节点的children删除即可(该坑在Element Plus中测试已没有)。

          // 遍历得到需要的树结构dealNodeTree(node) {if (!node) {return null;}let temNode = this.changeNode(node);if (temNode.children) {// 处理children字段temNode.children = temNode.children.map(item => {return this.dealNodeTree(item);});}return temNode;},

(4)服务器返回的字符串,或者选中数组直到选中节点最高父级,需要获取所有选中的子节点,才能让级联组件正常显示。
dfs对根节点进行深度遍历,获取所有路径,存到全路径列表中,和最高级父节点进行匹配,显示匹配的节点即可。

            getAllPath(node, path = []) {if (!node) {return null; // 如果为空节点则返回null}const currentVal = node.value; // 当前节点值path.push(currentVal); // 将当前节点值添加到路径数组中if (!node.children || node.children.length === 0) {// console.log('路径:', path); // 输出完整路径this.myResult.push(path);} else {for (let i = 0; i < node.children.length; i++) {this.getAllPath(node.children[i], [...path]); // 对每个子节点进行递归调用}}// path.pop(); // 移除最后一个元素,因为已经处理过该节点了},
http://www.ds6.com.cn/news/92410.html

相关文章:

  • 如何做外贸网站优化推广烟台网络推广
  • 网址与网站的区别排名优化网站
  • 做一个网站赚钱吗深圳市文化广电旅游体育局
  • 网站如何做传输网盘深圳最新疫情最新消息
  • 网站是干嘛用的企业营销型网站
  • 沈阳正规制作网站公司哪家好郑州企业网站seo
  • 做科技的网站广州seo网站营销
  • 网站建设公司人员配置网站seo公司
  • javase可以做网站吗免费优化推广网站的软件
  • 南宁网站建设优势网络营销是做什么的工作
  • 网络服务商是指什么重庆seo杨洋
  • 虚拟主机WordPress建站seo实战培训中心
  • 郑州网站建设公司e00营销方案包括哪些内容
  • 个人网站制作流程宝塔没有域名直接做网站怎么弄
  • 做黑彩网站免费推客推广平台
  • 淘宝客的网站是怎么做的外贸推广引流
  • 广东网站建设便捷一键优化软件
  • 南宁微网站制作软件开发工具
  • 石家庄网站优化seo的方法
  • 华为云速建站可以做英文网站想做百度推广找谁
  • 做兼职在线抠图网站网络营销的实现方式有哪些
  • 贵阳建站推广公司企业网络推广计划书
  • 深圳沙井做网站公司电商培训机构排名
  • 做gif网站排名sem优化软件
  • 南京做网站多少钱北京百度seo排名点击器
  • 网站开发公司企业网页设计与制作项目教程
  • 深圳网站建设 易通鼎微信广告怎么投放
  • 给别人做网站的公司seo爱站网
  • 网站建设好学吗百度之家
  • 松江网站开发公司昆明百度推广开户