当前位置: 首页 > 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.15wanjia.com/news/20209.html

相关文章:

  • 电子商城网站设计seo社区
  • 湖南定制响应式网站有哪些百度提升优化
  • 广东网站建设微信商城运营百度app官方正式版
  • 大淘客怎样做网站搜索引擎优化的主要工作有
  • b2c网上商城有哪些邯郸网站seo
  • 求可以做问卷测试的网站简述提升关键词排名的方法
  • 上海微信小程序网站建设中国网站排名前100
  • 如何做自己的淘宝网站如何开通网站
  • 海南做网站24小时免费看的视频哔哩哔哩
  • 抚远网站建设seo网络推广课程
  • 厦门网站优化网站推广的目的是什么
  • 做的网站访问速度慢国内b2b十大平台排名
  • 手机做网站服务器谷歌排名规则
  • 好网站的特点衡阳seo外包
  • 关于加强机关网站建设必应搜索引擎入口官网
  • 做网站宽度和长度布局外链工具软件
  • 企业 做网站百度关键词搜索
  • 网站开发aichengkeji百度最新人工智能
  • wordpress上传apk小时seo百度关键词点击器
  • 深圳服务网站设计哪家公司好百度搜索推广平台
  • 网站推广软件有哪些精准客户运营推广
  • 用vue框架做的网站网上推广怎么收费
  • 上海十大活动策划公司seo优化的主要内容
  • wordpress头像本地seo研究学院
  • 微信网站开发系统沈阳网站seo排名公司
  • 网站免费模板百度公司销售卖什么的
  • 网站建设基础流程图seo排名优化推广教程
  • 做网站卖广告位赚钱软文广告范文
  • 做卡盟开端网站要多少钱快速提升网站关键词排名
  • 如何做电商网站分析报告免费b站在线观看人数在哪里找到