位置: IT常识 - 正文

antd级联选择器(a-cascader)动态加载和动态回显效果实现(antd 级联多选)

编辑:rootadmin
antd级联选择器(a-cascader)动态加载和动态回显效果实现 文章目录1、介绍2、效果图如下图所示:(只实现3层的)3、实现方法(1)层级可单独选择(2)组件使用(3)data数据(4)实现动态加载数据1、 提示:options的数据格式是这样的2、methods方法3、异步加载数据方法4、获取2,3级组织列表(5)编辑回显1、介绍

推荐整理分享antd级联选择器(a-cascader)动态加载和动态回显效果实现(antd 级联多选),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:级联选择器多选,antd级联选择器回显,antd级联选择器获取选中值对象,antd级联选择器多选,antd级联选择器获取选中值对象,antd级联选择器获取选中值对象,antd级联选择器 多选限制数量,antd级联选择器获取选中值对象,内容如对您有帮助,希望把文章链接给更多的朋友!

​ 需要实现级联选择器动态拿到每一层级的数据并显示,同时在编辑数据时弹框回显对应的层级关系。

2、效果图如下图所示:(只实现3层的)

3、实现方法(1)层级可单独选择antd级联选择器(a-cascader)动态加载和动态回显效果实现(antd 级联多选)

​ 给组件添加 :checkStrictly="true" 这个属性就可以实现单独勾选一级、二级、三级组织关系。(官方api没有写)

(2)组件使用

​ 首先先在html里 模态框上写上a-cascader组件

<a-modal v-model="uploadNew" :title="title" :width="800" :footer="null" @cancel="resetForm"> <a-form-model :model="addForm" :label-col="labelCol" :wrapper-col="wrapperCol" ref="addForm" :rules="roleRules"> <a-form-model-item label="所属组织" prop="orgIds"> <a-cascader v-model="addForm['orgIds']" :options="options" change-on-select @change="onChange" :load-data="loadData" :checkStrictly="true" placeholder="选择组织" /> </a-form-model-item> <a-form-model-item :wrapper-col="{ span: 14, offset: 10 }"> <span @click="onSubmit" style="cursor: pointer"> 提交 </span> <span @click="resetForm" style="margin-left: 100px;cursor: pointer"> 取消 </span> </a-form-model-item> </a-form-model> </a-modal>(3)data数据 data() { return { options: [] } },(4)实现动态加载数据

​ 先实现只有动态加载数据的功能(根据官网https://1x.antdv.com/components/cascader-cn/示例即可实现)

1、 提示:options的数据格式是这样的 options: [ { value: 'zhejiang', label: 'Zhejiang', isLeaf: false,//是否叶子节点 children:[] }, { value: 'jiangsu', label: 'Jiangsu', isLeaf: false, }, ],2、methods方法

注意:(初始化时会先获取第一层级的数据)

//获取一级组织 async getOneList(){ try { let par={ parentId:'' } const res = await getOrgOneList(par) this.roleOneList=res.data.data this.roleOneList.forEach(item=>{ let temp={ value:item.id, label:item.orgName, isLeaf:false, } this.options.push(temp) }) } catch (error) { console.log(error) } }, 3、异步加载数据方法 async loadData(selectedOptions) { const targetOption = selectedOptions[selectedOptions.length - 1]; this.levelIndex=selectedOptions.length+1 //点第几级组织,selectedOptions长度就是几,点3级时,没有叶子节点,不会进入这个方法(这里只会等于2,3) targetOption.loading = true; let parentId=targetOption.value//根据父id才能查询子数组 await this.getOrgTwoList(parentId)//这个方法是掉接口,返回2,3级数据,下方有该方法 targetOption.loading = false; if(this.levelIndex<=3){ targetOption.children = this.roleTwoList } this.options = [...this.options]; }, onChange(value) { this.roleCheck=value console.log(value,'sel') },4、获取2,3级组织列表//根据父id获取2,3级组织列表 async getOrgTwoList(id){ try { let par={ parentId:id } const res = await getOrgOneList(par)//掉接口,获取下一层级数据 this.roleTwoList=[] res.data.data.forEach(item=>{ let temp={ value:item.id, label:item.orgName, isLeaf: this.levelIndex==3?true:false//判断是否是叶子节点 } this.roleTwoList.push(temp) }) } catch (error) { console.log(error) } },(5)编辑回显

在上面基础上,实现编辑的时候数据回显

//编辑用户 async editUser(row){ this.addForm=Object.assign({},row) this.addForm.orgIds=row.orgIds.split(',')//数据需要转成数组的格式 for (let i = 0; i < this.addForm.orgIds.length - 1; i++) { await this.getNextList(this.addForm.orgIds[i])//获取下一层级的数据 } this.uploadNew=true//显示弹框 },

方法实现

//根据父id获取下一层级数据 async getNextList (targetOption) { let obj = { parentId: targetOption } const res = await getOrgOneList(obj)//掉接口,获取下一层级数据 const list = res.data.data.map((item) => { // dLevel == 3 时表示是叶子节点 this.$set(item,'isLeaf',item.dLevel == 3) this.$set(item,'value',item.id) this.$set(item,'label',item.orgName) return item }) //初始化时,this.options包含全部第一层级的数据 this.options.forEach((item) => { if (item.children) { item.children.forEach((ite) => { if (ite.value == targetOption ) { this.$set(ite,'children',list) // ite['children'] = list } }) } if (item.value == targetOption) {//数据value值等于父id this.$set(item,'children',list) } }) this.options = [...this.options] },

以上getOrgTwoList和getNextList方法都是根据父id获取下一层级(2,3级)数据,可优化。

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

上一篇:户外广告位租用费如何在税前扣除?(户外广告位怎么收费)

下一篇:牙痛怎么办,怎么快速止痛(牙痛怎么办怎么治疗)

  • 二进制转十进制(二进制转十进制简单算法)

    二进制转十进制(二进制转十进制简单算法)

  • 怎么绑定老婆的微信号(怎么绑定老婆的信用卡)

    怎么绑定老婆的微信号(怎么绑定老婆的信用卡)

  • 微博可以选择日期看吗(微博选择日期看)

    微博可以选择日期看吗(微博选择日期看)

  • 手机看快手就重启怎么回事(手机看快手就重启怎么办)

    手机看快手就重启怎么回事(手机看快手就重启怎么办)

  • qq音乐能不能投屏电视(qq音乐能不能投屏电脑)

    qq音乐能不能投屏电视(qq音乐能不能投屏电脑)

  • 电脑关机但是机箱还亮(电脑关机但是机内有声音)

    电脑关机但是机箱还亮(电脑关机但是机内有声音)

  • 隔空投送一直等待是为什么(隔空投送一直等待中怎么办)

    隔空投送一直等待是为什么(隔空投送一直等待中怎么办)

  • hp126a打印机硒鼓型号(hp 126nw硒鼓)

    hp126a打印机硒鼓型号(hp 126nw硒鼓)

  • 硬盘电源线四根线作用(硬盘电源线四根线怎么接)

    硬盘电源线四根线作用(硬盘电源线四根线怎么接)

  • 微信收款怎么给顾客留言(微信收款怎么给顾客退款)

    微信收款怎么给顾客留言(微信收款怎么给顾客退款)

  • rtx2070super算高端显卡吗

    rtx2070super算高端显卡吗

  • 不想用手机卡如何注销(不想用手机卡如何取卡)

    不想用手机卡如何注销(不想用手机卡如何取卡)

  • 手机怎么用网页版微信(手机怎么用网页版qq)

    手机怎么用网页版微信(手机怎么用网页版qq)

  • 歌曲怎么上酷我音乐(歌曲怎么上酷我音乐会员)

    歌曲怎么上酷我音乐(歌曲怎么上酷我音乐会员)

  • 华为mate30pro5g参数(华为Mate30pro5g参数配置详情价格)

    华为mate30pro5g参数(华为Mate30pro5g参数配置详情价格)

  • 手机画面抖动怎么解决(手机画面抖动怎么回事)

    手机画面抖动怎么解决(手机画面抖动怎么回事)

  • 虾米歌曲怎么下载到u盘(虾米音乐怎么下载到手机本地)

    虾米歌曲怎么下载到u盘(虾米音乐怎么下载到手机本地)

  • 联想笔记本怎么设密码(联想笔记本怎么强制关机重启)

    联想笔记本怎么设密码(联想笔记本怎么强制关机重启)

  • 云闪付在哪里可以使用(云闪付在哪里可以查到进账单)

    云闪付在哪里可以使用(云闪付在哪里可以查到进账单)

  • 快手定位不准怎么办(快手定位不准怎么解决)

    快手定位不准怎么办(快手定位不准怎么解决)

  • 探探可以匹配到为什么收不到信息(探探可以匹配到多远的人)

    探探可以匹配到为什么收不到信息(探探可以匹配到多远的人)

  • 美图秀秀怎么发文章(美图秀秀怎么发布自己的配方)

    美图秀秀怎么发文章(美图秀秀怎么发布自己的配方)

  • 在win7系统中,网页无法复制文字怎么办?(在win7系统中文件属性有哪些)

    在win7系统中,网页无法复制文字怎么办?(在win7系统中文件属性有哪些)

  • linux系统中怎么实现文本界面转化为图形界面?(linux系统中怎么创建目录)

    linux系统中怎么实现文本界面转化为图形界面?(linux系统中怎么创建目录)

  • ryzen3 2200g性能怎么样?锐龙R3 2200G评测(ryzen3 2200配显卡)

    ryzen3 2200g性能怎么样?锐龙R3 2200G评测(ryzen3 2200配显卡)

  • 大数据分析案例-基于决策树算法构建金融反欺诈分类模型(大数据分析案例结论)

    大数据分析案例-基于决策树算法构建金融反欺诈分类模型(大数据分析案例结论)

  • 2022年windows11windows10最强VMware Workstation 16 Pro for Windows虚拟机软件最新授权版16.2.3-19376536版本

    2022年windows11windows10最强VMware Workstation 16 Pro for Windows虚拟机软件最新授权版16.2.3-19376536版本

  • 印花税退税减半征收会计分录怎么写?
  • 可供出售金融资产和长期股权投资
  • 定额备用金与非定额备用金的会计分录
  • 公司废料收入如何分配
  • 资产负债表递延收益
  • 资产负债表税务报表中其他应收款可以为负数吗
  • 展览服务费进项可以抵扣吗
  • 猪肉是否免税
  • 支付宝过路费开票小程序
  • 公司工会的主要职能是
  • 财产保险合同印花税谁交
  • 工业企业生产费用按经济内容划分,一般称为
  • 发票冲红需要什么手续
  • 知道增值税如何计算开票金额
  • 资产负债表预收预付账款怎么填
  • 应收账款计提坏账比例
  • 公司出租房屋交印花税吗
  • 有进项没有销项可以零申报吗
  • 合并报表怎么抵损益
  • 应交税费借方余额怎么处理
  • 公司个税申报是什么意思
  • 劳保用品计入福利费嘛
  • 电商刷单的财务操作
  • 合同成本对应科目
  • 以前年度多计提了税金怎么办
  • 已达到计算机的连接数最大值win7
  • Linux系统复制粘贴
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • 人力资源管理师考试时间
  • 净资产收益率摊薄
  • 计划成本法存货成本的确定
  • 冲销以前年度多做的其他应收款
  • 按揭贷款到账时间
  • 外币债券汇兑损益怎么算
  • et.exe进程占用
  • nacos安装包
  • frameworks
  • 服务什么行业
  • 打车费计入哪个科目
  • 金税盘怎样设置收款人复核人
  • 公司股票买卖账务处理
  • mongodb数据库中间创建自己名字首字母的数据库
  • python中numpy数组的拼接、合并
  • 公账转给员工工资情况说明怎么写
  • 纳税申报表上的销售额
  • sqlserver2016维护计划
  • 缴增值税的账务处理
  • 进项3个点销项13个点是需要交10个点的税吗
  • 调研费属于什么会计科目
  • 资本公积溢价转增
  • 现金折扣要扣除什么费用
  • 合理的物料消耗是指
  • a公司持有b公司
  • 小规模纳税人退税政策
  • 企业收到政府补助金80 000元,存入银行
  • 对公账户分为几类
  • 咨询费开发票应该选哪一项?
  • 管理费用和销售费用都有职工薪酬
  • centos6.10安装
  • 创建的sql语句
  • linux calloc
  • linux获取主目录的命令
  • win7 便签
  • win7取消ch
  • xp系统开机只有一个鼠标箭头
  • win7卸载软件时显示program
  • linux查询ipv4
  • win10mobile更新出错
  • 安卓手机屏幕不好使了怎么办
  • javascrapt
  • python爬虫模拟登录亚马逊
  • unity3D游戏开发
  • python库怎么用
  • unity中滚动条控件详解
  • javascript程序设计教程
  • 发票在国家税务总局网站查不到能用吗
  • 青海国家税务局官网
  • 车价36万保险一般多少钱
  • 增值税防伪税控开票实训心得
  • 预到船舶是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设