位置: IT常识 - 正文

el-cascader数据渲染及回显至页面(以及踩坑历程+解决)(el-cascader数据渲染时不出现文字)

编辑:rootadmin
el-cascader数据渲染及回显至页面(以及踩坑历程+解决)

推荐整理分享el-cascader数据渲染及回显至页面(以及踩坑历程+解决)(el-cascader数据渲染时不出现文字),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:element cascader,el-cascader回显,element cascader,el-cascader懒加载回显,el-cascader-multi,elementui表格渲染数据,el-cascader-multi,el-cascader数据渲染时不出现文字,内容如对您有帮助,希望把文章链接给更多的朋友!

第一次使用el-cascader就把坑踩了个遍,写个记录,也希望能够帮助到同为小猿的你们。

下面是我写的一个还原项目的例子

Bug1  首先是最小子集仍然有children,但是children为空数组,el-cascader渲染时,发现有children所以继续渲染了,只是没数据

<el-cascader :props="defaultParams" :options="options" v-model="form.selectedOptions" > </el-cascader>//option是要选择的数据 options: [ { id: "1", name: "水果", level: "1", pid: "0", status: "1", sub: [ { id: "4", name: "苹果", level: "2", pid: "1", status: "1", sub: [ { id: "41", name: "红富士", level: "2", pid: "1", status: "1", sub: [], }, { id: "42", name: "元帅", level: "2", pid: "1", status: "1", sub: [], }, ], }, { id: "8", name: "香蕉", level: "2", pid: "1", status: "1", sub: [], }, ], }, { id: "2", name: "食品", level: "1", pid: "0", status: "1", sub: [ { id: "5", name: "馒头", level: "2", pid: "2", status: "1", sub: [], }, { id: "6", name: "大米", level: "2", pid: "2", status: "1", sub: [], }, ], }, ],

我这里的sub相当于children,可以看到我最小的子集,仍有sub:[ ] ,导致渲染空

解决:处理源数据(这里源数据☞  options),我看其他解决方式是将为空的children赋值为undefine,也有直接处理源数据,取出要用的数据,这里我把两种方式都写下来,可以择一使用,

el-cascader数据渲染及回显至页面(以及踩坑历程+解决)(el-cascader数据渲染时不出现文字)

第一种:

// 递归判断列表,把最后的sub设为undefined sub也就是源数据里的children getTreeData(data) { for (var i = 0; i < data.length; i++) { if (data[i].sub.length < 1) { // sub若为空数组,则将sub设为undefined data[i].sub = undefined; } else { // sub若不为空数组,则继续 递归调用 本方法 this.getTreeData(data[i].sub); } } return data; },

第二种是将源数据过滤掉children,把主要数据取出来,放在一个新数组,这样就得到一个新的没有children的数组了,在使用时调用该方法就可以啦

getTreeData(datas) { let data = []; datas.map((item) => { if (item.sub.length > 0) { let dadax = { label: item.name, //这是需要展示的数据 我的数据是name,所以label对应的是name value: item.id, sub: this.getTreeData(item.sub), }; data.push(dadax); } else { let dadax = { label: item.name, value: item.id, }; data.push(dadax); } return data; }); return data; },

Bug2    在做数据回显时,总是回显不出数据,找遍了各种方式还是没解决,到后来才发现在props里多加了个属性,导致不回显数据

下面,先说数据是怎么回显的,其实很简单,只需要后端把对应的层级关系的节点id就可以啦

例如我的   尤其要特别注意 给后端大佬说清 需要的数据格式 是 一个大的数组 里面是一个一个的小数组,一个数组代表了一个回显的数据,我这里做的是多选的,所以回显的数据比较多,这里以两个为例,多个回显数据就很多几条数组就可以啦   

 tips:在找其他答案的时候偶然发现也可以通过官方文档的getCheckedNodes方法来拿到选择过的数据然后再用v-model来绑定,也可以回显数据,这个方法我没试,应该也是可以的

 接下来,就要说说我踩得冤坑了,主要还是不熟悉el-casasder组件,乱加属性emitPath:false,这里是解决项目字段和组件字段不对应的方式,el-cascader默认显示的字段是label

 如果想具体了解下emitPath的用法可以参考element-ui的官网  

 到此,算是对el-cascader的使用告一段落了,有缺失的地方,也希望多多补充,觉得可以的话,就给俺点个赞吧

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

上一篇:npm info: node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

下一篇:win10蓝牙共享网络怎么用(win10蓝牙共享网络给手机)

  • 3个效果还不错的引流小技巧(效果好一些)

    3个效果还不错的引流小技巧(效果好一些)

  • 66w充电器可以充22.5w的手机吗(66w充电器可以充40w的手机吗)

    66w充电器可以充22.5w的手机吗(66w充电器可以充40w的手机吗)

  • 苹果手机怎么解决相机模糊(苹果手机怎么解绑银行卡)

    苹果手机怎么解决相机模糊(苹果手机怎么解绑银行卡)

  • 拼多多直播回放视频怎么删除(拼多多直播回放怎么保存)

    拼多多直播回放视频怎么删除(拼多多直播回放怎么保存)

  • 夏普电视怎么开启无线投屏功能(夏普电视怎么开不了机)

    夏普电视怎么开启无线投屏功能(夏普电视怎么开不了机)

  • 通过小米订单号怎样查询物流(通过小米订单号查手机号)

    通过小米订单号怎样查询物流(通过小米订单号查手机号)

  • 降权宝贝下架还是删除(降权宝贝下架还能上架么)

    降权宝贝下架还是删除(降权宝贝下架还能上架么)

  • 爱奇艺会员买了能退吗(爱奇艺会员买了怎么退款)

    爱奇艺会员买了能退吗(爱奇艺会员买了怎么退款)

  • trt_al00a是什么型号(trt al00a什么型号)

    trt_al00a是什么型号(trt al00a什么型号)

  • 局部截屏电脑快捷键是什么(电脑截局部图快捷键ctrl加什么)

    局部截屏电脑快捷键是什么(电脑截局部图快捷键ctrl加什么)

  • 视频聊天看不到对方的图像是因为什么原因(视频聊天看不到对方的图像)

    视频聊天看不到对方的图像是因为什么原因(视频聊天看不到对方的图像)

  • 屏幕划痕手机店能修吗(手机屏幕有划痕可以退货吗)

    屏幕划痕手机店能修吗(手机屏幕有划痕可以退货吗)

  • qq加不了好友只能关注(为什么qq加不了好友只能别人加我)

    qq加不了好友只能关注(为什么qq加不了好友只能别人加我)

  • mw782ch/a是什么意思(mw792ch/a是什么年份出的)

    mw782ch/a是什么意思(mw792ch/a是什么年份出的)

  • 恢复出厂设置后备份还在吗(恢复出厂设置后原来的数据还能找到吗)

    恢复出厂设置后备份还在吗(恢复出厂设置后原来的数据还能找到吗)

  • 华为荣耀20i怎么长截屏(华为荣耀20i怎么拆后盖)

    华为荣耀20i怎么长截屏(华为荣耀20i怎么拆后盖)

  • 怎样改微信朋友圈时间(怎样改微信朋友的头像)

    怎样改微信朋友圈时间(怎样改微信朋友的头像)

  • 华为商城可以卸载吗(华为商城可以卸载嘛)

    华为商城可以卸载吗(华为商城可以卸载嘛)

  • oppogps权限怎么开启(oppogps设置在哪里)

    oppogps权限怎么开启(oppogps设置在哪里)

  • 华为mate20怎么显示步数(如何设置华为mate20)

    华为mate20怎么显示步数(如何设置华为mate20)

  • 13.1.3有什么功能(ios13.6功能介绍)

    13.1.3有什么功能(ios13.6功能介绍)

  • apm是什么牌子中文

    apm是什么牌子中文

  • 苹果max怎么录屏幕视频(苹果max怎么录屏教程)

    苹果max怎么录屏幕视频(苹果max怎么录屏教程)

  • vivoy93有语音助手吗(vivoy93手机的语音助手怎么喊才会跳出来)

    vivoy93有语音助手吗(vivoy93手机的语音助手怎么喊才会跳出来)

  • 华为p30如何反向充电(华为P30如何反向充电)

    华为p30如何反向充电(华为P30如何反向充电)

  • 个税申报的收入是应发还是实发
  • 税务局退税多久到账
  • 投资收回的现金
  • 保税仓发货的商品,每个人的年度消费限额是
  • 小规模纳税人预缴税款怎么填申报表
  • 通过物流中心再送货配货属视同销售吗
  • 住宿费专票可以报销吗
  • 增值税普通发票税率
  • 核定征收企业所得税率是多少
  • 增值税发票过期了税金怎么办
  • 作废发票 红字发票
  • 所得税会计核算要点及程序
  • 航天开票系统清单流程
  • 批发行业增值税税负率是多少呢
  • 收到留抵税额退税怎么做分录
  • 审计报告报备流程
  • 公司商品房出售流程
  • 发票遗失如何补开
  • 缴纳人身意外保险凭证是什么
  • 如何关闭windows10自动更新
  • PHP:pg_lo_read()的用法_PostgreSQL函数
  • linux中的大于号什么意思
  • php中implode
  • 计量差错引起的盘亏
  • 编译原理第三版课后答案
  • php如何实现
  • react组件库有哪些
  • php批量删除文件
  • 让我用用你的计算机
  • 微信利用php创建文件
  • 收回多发的工资在上缴财政,可以用应缴财政款科目吗
  • 所得税在什么情况下免税
  • 报销借款分录怎么做
  • php 时间
  • c语言中sizeof是啥意思
  • dedecms 授权
  • dedecms配置
  • 职工保险报账
  • 上一年度的费用能入今年账吗
  • 个人汽车保险费可以放在公司报销吗
  • 社会团体费用报销制度
  • 个税申报子女教育有年龄限制吗
  • 购买财务软件报税流程
  • 股权转让中土地要否缴纳增值税
  • 异地预缴增值税后本地怎么申报
  • 收取物业费如何纳税
  • 物业公司维修服务范围
  • 收到代持股权的账务处理
  • 预付账款科目的余额如果在借方,则在资产负债表上
  • 核销报验登记流程
  • 借款跨年要交个税吗
  • 购买原材料时发生的不可抵扣的增值税额
  • 支付借款利息需要交税吗
  • 银行帐户维护费怎么算
  • 微信的业务
  • 是不是根据营业执照查询
  • 股权变更需要多久
  • 建设工程毛利率如何计算
  • 计入当期损益是不是计入三大期间费用
  • 电脑主板bios是什么意思
  • wpr是什么软件
  • 微软正式推出wind...
  • win7如何设置网络连接路由器
  • cocos2dx官方教程
  • linux中文件权限读写执行的三种标志符号依次是
  • opengl入门教程
  • python 堆叠
  • pycharm官方教程
  • easyui导出excel表格
  • asp.net 4.8
  • Tcp/ip协议族
  • java中的多态性
  • javascript生成随机整数
  • jquery插件库怎么导入
  • android图片压缩库
  • 地方税务局稽查局卢永胜
  • 大数据在税务稽查的应用
  • 北京市国家税务局发票查询平台
  • 大乐透中奖查询走势图
  • 重庆市国家税务局电子税务局官网登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设