位置: IT常识 - 正文

完美解决el-cascader回显失败问题(完美解决索尼电视arc无声音)

编辑:rootadmin
完美解决el-cascader回显失败问题 项目场景:

推荐整理分享完美解决el-cascader回显失败问题(完美解决索尼电视arc无声音),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:完美解决怠速抖动加油就平稳,完美解决win10间歇性掉线,完美解决显卡利用率低,完美解决显卡利用率低,完美解决win10共享打印机,完美解决win10共享打印机,完美解决win10共享打印机,完美解决usb电涌15秒后关机,内容如对您有帮助,希望把文章链接给更多的朋友!

项目场景:接手了一些老项目,需要做一些日志相关的操作,从后台日志跳转到相应页面要带上原来的请求参数,涉及到一个回显问题

问题描述

Element-UI的 <el-cascader /> 这个组件,赋值之后它不会回显!而且后端返回的值只有最后一级的id,可是一个劲看文档、找资料浪费大半天,所以总结了一个比较完美的办法

原因分析:

value 属性才是回显的关键,只有绑定了value属性才会让 <el-cascader /> 回显(单选情况下是一维数组、多选是二维数组),而且数组中的值一定是最后一级的id加上它父级的id组成

在这里放一下模拟的数据

depart_check: [],options: [{ value: 1, label: '东南', children: [ { value: 11, label: '上海', children: [{ value: 111, label: '黄浦区' }, { value: 112, label: '静安区' }, { value: 113, label: '虹口区' }, { value: 114, label: '长宁区' }] }, { value: 12, label: '江苏', }, { value: 13, label: '浙江', } ]}, { value: 2, label: '西北', children: [{ value: 21, label: '陕西', }, { value: 22, label: '新疆维吾尔族自治区', }]}]解决方案:

由于后端返回来的只有最后一级的id,所以我们需要写一个递归来拿到最后一级id和它父级id的数组 废话不多说直接上代码

/** @param list 数据列表* @param id 后端返回的id**/getParentsById(list, id) { for (let i in list) { if (list[i].value == id) { //查询到就返回该数组对象的value return [list[i].value] } if (list[i].children) { let node = this.getParentsById(list[i].children, id) if (node !== undefined) { //查询到把父节把父节点加到数组前面 node.unshift(list[i].value) return node } } }},完美解决el-cascader回显失败问题(完美解决索尼电视arc无声音)

方法有了之后就开始解决问题

一、多选赋值回显

因为多选的时候绑定的value是个二维数组 比如随便选俩,change事件拿到的值就是[[1,11,111], [1,12] ]

// 选择单位 handlechangedepatt(v) { console.log(v) this.depart_check = v },

因为后端只会返回来111、12两个值还是字符串格式"111,12",所以处理开始

let _depart_check = data.depart_id ? data.depart_id.split(",").map(i => Number(i)) : []let _arr = []// 使用上面写的方法 getParentsById 找出父级id并组合_depart_check && _depart_check.map(i => _arr.push(this.getParentsById(this.options, i)))console.log("_arr: ",_arr)this.depart_check = _arr

控制台打印拿到的_arr,完美和change事件里拿到的值是一个格式,这样回显就完成了

这里有一个小问题就是,拿到的id可能很多个,getParentsById方法只能一个一个找父级id,所以需要依次获取

二、单选赋值回显

方法和多选类似,因为单选change选中的值是一位数组,比如:[ 1,11,111 ]所以当拿到后端id之后不需要太多处理,只需要根据id和数据拿到一个一维数组的数据就行了,就不多解释了

let _depart_check = data.depart_id || ""let _arr = []_arr = this.getParentsById(this.options, _depart_check )this.depart_check = _arr总结

以上就是el-cascader回显失败的解决办法,可能有些小地方不够严谨,但是大问题得到了解决。

感谢

getParentsById方法有参考 爱吃蛋炒饭加蛋 大哥的帖子 js递归查询id所对应的节点,查询该节点的父节点,查询该节点的所有子节点 新定义定义一个 _arr是因为直接map赋值是不生效的,这里有参考 i_am_a_div_日积月累_ 大哥的帖子 el-cascader回显失败;el-cascader回显不出来

本文链接地址:https://www.jiuchutong.com/zhishi/283259.html 转载请保留说明!

上一篇:Win10/Win7如何彻底关闭系统进程 Win10/Win7关闭系统进程图文步骤(win7怎么删除windows.old)

下一篇:windows7旗舰版系统查看CPU处理器的方法(windows7旗舰版最新版本)

  • 预提的费用在做所得税的时候如何处理
  • 小规模开票软件怎么下载
  • 政府单位临聘人员辞退
  • 民办非企业单位属于什么类型
  • 出口业务退税流程资料
  • 认缴注册资本的风险
  • 增值税专用发票和普通发票的区别
  • 房地产企业土地使用税
  • 亏损年底结转会计分录
  • 个人减税具体政策
  • 民办非企业单位是什么单位性质
  • 无形资产换出
  • 单位购置汽车如何入账
  • 收到小微企业补贴如何做账
  • 快递费需要计提吗
  • 2021年路桥费抵扣最新政策
  • 金税盘不能清卡是啥原因
  • 承租方出售资产的行为
  • 取得增值税专用发票注明税额
  • 增值税发票国家收几个点的钱
  • 工资预支怎么做账
  • 企业修路会计分录
  • 财产转移数据缴费怎么交
  • 垃圾清运属于什么大类
  • 小企业的费用应当在发生时计入当期损益
  • symtray.exe - symtray是什么进程 有何作用
  • 事业单位个税手续费返还需要上缴财政吗
  • 全月应纳税所得额什么意思
  • 财政拨款收入的预算会计科目
  • 公司购买基金怎样入账
  • 购买礼品的会计科目
  • 评估价格是按原值还是净值
  • php数组函数 菜鸟
  • checkingmedia什么意思戴尔笔记本
  • 免抵退应退税额15栏怎么填进去
  • Micheldever Wood的蓝铃花,英国汉普郡 (© Hursley/Getty Images Plus)
  • 资产证券化会计信息披露规范
  • 深度学习第一步——Pytorch-Gpu环境配置:Win11/Win10+Cuda10.2+cuDNN8.5.0+Pytorch1.8.0(步步巨细,少走十年弯路)
  • 超级鸽卫星
  • 2020年前端面试
  • 简要说说vue是什么?有什么主要的特性?
  • 营业外收支核算的内容有哪些?
  • java委托模式和代理模式
  • 记账凭证摘要怎么填写
  • 低值易耗品管理办法
  • 摊余成本和账面价值
  • erp用友u8操作教程
  • 事业单位净资产变动表
  • 哪些增值税可以免税
  • 公司账户资金转个人账户
  • 去年亏损今年盈利同比怎么算
  • 挂靠别人公司税怎么交?
  • 企业代扣税费会计分录
  • 挂靠单位账务处理是?
  • 其他权益工具包括交易性金融资产吗
  • 废旧物资收购发票政策2018
  • 银行存款付款是借方还是贷方
  • 水果销售公司怎么起名字好听
  • 管理费用和财务费用属于什么科目
  • mysql三种安装方式
  • QQPCTray.exe是什么进程 QQPCTray.exe文件介绍
  • linux系统怎么安装wine
  • 虚拟网卡在哪里设置
  • win10 2020h1
  • w10系统怎么压缩
  • windows mobile应用
  • opengl帧缓冲
  • 批处理文件是脚本吗
  • python中numpy.zeros(np.zeros)的使用方法
  • OpenGL ES Emulator比较
  • 文件上传的三个条件
  • shell脚本 su
  • Unity之megaFierstext翻书插件控制代码分析
  • 深入理解新发展理念
  • javascript工作
  • js基础
  • socks5代理怎么用
  • 印花税没有按时申报怎么办
  • 第三方审计报告需要多久
  • 山西社保查询网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设