位置: 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蓝牙共享网络给手机)

  • 盘点比较有效的推广方式(最有效的)

    盘点比较有效的推广方式(最有效的)

  • 酷派8720l玩王者(酷派8720怎么样)(酷派cool20玩游戏)

    酷派8720l玩王者(酷派8720怎么样)(酷派cool20玩游戏)

  • 快手喜欢的作品怎么让人看到(快手喜欢的作品怎么公开)

    快手喜欢的作品怎么让人看到(快手喜欢的作品怎么公开)

  • 华为步数怎么和微信步数一样(华为步数怎么和支付宝同步)

    华为步数怎么和微信步数一样(华为步数怎么和支付宝同步)

  • oppo游戏健康系统怎么解除(oppo我的健康游戏)

    oppo游戏健康系统怎么解除(oppo我的健康游戏)

  • 快手上会显示手机号码(快手会显示手机型号吗)

    快手上会显示手机号码(快手会显示手机型号吗)

  • 个人热点是干什么的(个人热点let)

    个人热点是干什么的(个人热点let)

  • 华为畅享9plusOTG在哪(华为畅享9plusOTG功能怎么打开)

    华为畅享9plusOTG在哪(华为畅享9plusOTG功能怎么打开)

  • 锂电池3c和5c代表什么(锂电池3a和5a区别)

    锂电池3c和5c代表什么(锂电池3a和5a区别)

  • sb1100二极管可以用什么代替(sb1100二极管可以用什么型号代替)

    sb1100二极管可以用什么代替(sb1100二极管可以用什么型号代替)

  • 苹果xr原装充电器型号(苹果xr原装充电器多少钱)

    苹果xr原装充电器型号(苹果xr原装充电器多少钱)

  • 怎么把旧手机的东西导入苹果11(怎么把旧手机的照片传到新手机上)

    怎么把旧手机的东西导入苹果11(怎么把旧手机的照片传到新手机上)

  • 识别二维码无法打开网页怎么办(识别二维码无法跳转怎么回事)

    识别二维码无法打开网页怎么办(识别二维码无法跳转怎么回事)

  • 华为w09平板是什么型号(华为w09平板是什么型号多少尺寸)

    华为w09平板是什么型号(华为w09平板是什么型号多少尺寸)

  • 连信的手机号咋解绑呢(连信手机号码没用了怎么登陆)

    连信的手机号咋解绑呢(连信手机号码没用了怎么登陆)

  • 手机qq怎么临时对话(qq登录新手机怎么恢复聊天记录)

    手机qq怎么临时对话(qq登录新手机怎么恢复聊天记录)

  • 微信文件多久过期(微信文件已过期或已被清理怎么办)

    微信文件多久过期(微信文件已过期或已被清理怎么办)

  • 华为手环怎么连接手机(华为手环怎么连接oppo手机)

    华为手环怎么连接手机(华为手环怎么连接oppo手机)

  • 主机是服务器吗(主机是不是就是服务器)

    主机是服务器吗(主机是不是就是服务器)

  • wps怎么打出横线(wps怎么打出横线符号)

    wps怎么打出横线(wps怎么打出横线符号)

  • 淘宝怎么联系店小二(淘宝怎么联系店铺)

    淘宝怎么联系店小二(淘宝怎么联系店铺)

  • 苹果手机云盘怎么清理(苹果手机云盘怎么关闭收费)

    苹果手机云盘怎么清理(苹果手机云盘怎么关闭收费)

  • 拼多多0.01抽奖怎么取消(拼多多0.01抽奖老是抽不到100元)

    拼多多0.01抽奖怎么取消(拼多多0.01抽奖老是抽不到100元)

  • 手机otg功能怎么安装(手机OTG功能怎么传照片)

    手机otg功能怎么安装(手机OTG功能怎么传照片)

  • 已发表的百度经验如何删除(已发表的百度经典文章)

    已发表的百度经验如何删除(已发表的百度经典文章)

  • 鸿蒙系统小艺怎么改声音?鸿蒙系统小艺更改声音教程(鸿蒙系统小艺怎么改声音)

    鸿蒙系统小艺怎么改声音?鸿蒙系统小艺更改声音教程(鸿蒙系统小艺怎么改声音)

  • 交强险必须交车船使用税吗?交多少钱?
  • 小微企业年度所得税优惠政策
  • 差额征税是什么时候出现的
  • 电商账务处理及收入成本如何确定?
  • 企业拆迁补偿金的税务处理
  • 企业收到保险公司赔偿款是否要交税
  • 原值和净值在报表怎么找
  • 小规模纳税人印花税是季报还是月报
  • 软件开发成本核算模板
  • 收到低值资产报废回收款账务处理
  • 按价格从价缴纳增值税
  • 抵债物品销售
  • 收到实物返利
  • 去国外参加展览的英文
  • 上月未做未开票收入分录次月如何调账?
  • 货样广告品管理办法
  • 快递费的进项税可以抵扣吗
  • 收到增值税专用发票是已经付款了吗
  • 一般纳税人的含税收入怎么算
  • 所得税汇算清缴后发现有误怎么办
  • 小规模季报财务报表只看季度最后一个月的数据可以吗
  • 不能抵扣的进项税额转出会计分录
  • 企业为一般纳税人税率多少
  • 财政补助结转余额在借方还是贷方
  • 议价收购股份的账务处理
  • 企业收取房屋维修费用
  • 结息的会计分录怎么写
  • 进口增值税发票可以抵扣吗
  • 固定资产注资后怎么做账
  • 资源综合利用企业税收优惠
  • 收到政府补助的现金流
  • 以前年度的库存商品出现负数今年如何入账
  • 房地产企业如何计算土地使用税
  • iphone7plus怎么设置5g网络
  • 核定征收没有收入要交税吗
  • php设计思路
  • 股份支付有哪些基本类型
  • 研发费用加计扣除75%还是100%
  • 短期投资计入什么科目
  • php二维码解码
  • 专项储备计提和使用
  • 其它收益和递延收益
  • 低代码框架开发
  • 京东到家的物流模式
  • linux mail命令详解
  • 折扣销售增值税计算例题
  • vector 底层原理
  • 短期投资的入账成本
  • 公司欠款 法人
  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置
  • mysql中游标的作用
  • 公司支付宝账户怎么管理
  • 典当业销售的死当物品是什么意思
  • 房地产按揭贷款放款条件
  • 事业单位公务员考试条件
  • 背书转让的电子汇票怎么查询
  • 股权支付费用是什么意思
  • 社保的生育险按照什么比例报销
  • 垫付的资金
  • 管理费用如何分摊到项目
  • 公司定额征收需要什么
  • 开票信息中电话怎么填
  • mysql怎么修改列的类型
  • Win10 Mobile 10549预览版怎么升级?
  • 苹果电脑 输入
  • win7鼠标点了没反应
  • win10系统怎么清理
  • winXP运行内存查看
  • Win10 Mobile/PC Build 10586.550曝光:主要修复bug和优化性能
  • win10通过任务管理器打开设置
  • win8网络连接受限怎么处理
  • pim架构
  • css样式表实验心得
  • jquery 延迟执行方法
  • Jquery uploadify上传插件使用详解
  • jQuery插件ajaxfileupload.js实现上传文件
  • python中函数参数类型
  • js设计模式有什么用
  • 上海电子发票试点
  • 关于啤酒包装物押金,下列正确的是( )
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设