elementui Cascader 级联选择使用心得

cascader 三级联动数据回显 cascader 三级联动数据回显 el-cascader 级联选择器详解 阅读详情

相信大家对于elementui并不陌生,作为适配Vue的优秀UI框架之一,一直被所有的开发者痛并快乐着。今天要记录的就是里边的主角之一Cascader。

首先先介绍一下Cascader ---> 当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择。

<el-cascader :options="options" clearable></el-cascader>

1、级联选择器经常会用来做地区的选择,在使用过程中发现了第一个有意思的地方----清空,比如我们经常会给元素添加clearable属性

<el-cascader :options="options" clearable></el-cascader>

 

 正常选中没问题 当点击了清空按钮之后  下拉的面板应该回到之前没选中的状态,但没有回到之前的状态

解决办法:

<el-cascader ref="addressCascader" :props="addressOptions" filterable clearable v-model="selectOptions" @change="addressChange" @visible-change="visibleChange"></el-cascader>
addressChange(data){
    if(data && data.length == 0){
        this.$refs['addressCascader'][0].$refs.panel.checkedValue = [] // 清空选中值
		this.$refs['addressCascader'][0].$refs.panel.clearCheckedNodes() // 清空级联选择器选中状态
		this.$refs['addressCascader'][0].$refs.panel.activePath = [] // 清除高亮
		this.$refs['addressCascader'][0].$refs.panel.syncActivePath() // 初始化(只展示一级节点)
	}
}

 2、面板展开可直接看到选中的数据 

visibleChange(val) {
	if(val) {
		if (this.$refs['addressCascader']) {
			if(this.$refs['addressCascader'][0].getCheckedNodes()[0]){
				this.$refs['addressCascader'][0].$refs.panel.activePath = this.$refs['addressCascader'][0].getCheckedNodes()
			}
		}
	}
}

 3、动态加载数据

addressOptions: {
	lazy: true,
	lazyLoad: (node, resolve) => {
		const { level } = node
		const nodes = []
		let type = level ? level + 1 : 1
		this.$http({
			url:this.$http.adornUrl('/business', '/dictprovince/selectList'),
			method: 'post',
			data: { level: type , parentCode: node.value }
		}).then(res => {
		    //console.log("保单归属地", res.data.data)
			res.data.data.map(item => {
			let area = {
				    value: item.code,
					label: item.name,
					leaf: item.level >= 3,
			    };
			    nodes.push(area)
		    })
			resolve(nodes)
	    })
    }
}

动态加载数据需要注意的是leaf的值  如果是二级菜单level>=2,三级菜单level>=3

4、后台返回的省市区直辖市选择的时候,针对一、二级的code可能是相同的的情况

code ['110000', '110000', '110107'],这样的情况在数据新增的时候是没有问题,但是在页面回显的时候例如查看或者修改,el-casder是无法正确的显示选中值的。问题的原因是cascader的每一项id都不能重复

 解决办法:例如将props中的value替换为省市区返回数据中的主键id。这种方法可以解决不回显的问题,但是在给后端传值的时候需要见选中的主键id 转换为对应的省市区code。相对比较繁琐

addressOptions: {
    value: item.id,
	label: item.name,
	code: item.code							
}

使用如下代码将id转换为对应的code

let pathNodeArray = this.$refs['addressCascader'][0].getCheckedNodes()[0].pathNodes
let pathNodeCodes = []
pathNodeArray.forEach(n => {
	pathNodeCodes.push(n.data.code)
})

记录使用当中遇到的问题,不定期更新~

【前端】element级联选择器中el-cascader通过props自定义设置value、label、children element级联选择器中el-cascader通过props自定义设置value、label、children 阅读详情

相关推荐

elementUI Cascader 级联选择器 数据动态加载 及获取label值 以及数据回显问题

最近项目中有个需求是关于让用户选择发货地址和收货地址的需求 大概样子长这样: 后端接口要求将 label值 和 选择的省市区code码 都传给后端!!! 1. 获取label值: <el-cascader ref="cascader" style="width:100%" v-model="form.endAddressCode" :props="options" @change="handleChange($event)"></el-cascader> le...

q1ngqingsky的博客 4769

Cascader 级联选择器(三级)

Cascader 级联选择器(三级)

叶 7201

Cascader 级联选择(详解)

Vue.js 是一个渐进式的 JavaScript 框架,被设计用来构建用户界面。与其他重量级框架(如 Angular 或 React)相比,Vue.js 提供了更简单、更灵活的 API,使得你可以在各种项目中灵活使用。

日常笔记/总结/系列知识梳理 4万+

Element el-cascader 级联选择器详解

本文目录1. 概述2. 数据绑定2.1 默认数据绑定 1. 概述 级联选择器用途比较广泛,例如选择人员所属的单位,可以从总公司-分公司-部门-子部门这样级联选择下来。 如果自己去实现一个级联选择器,实际上是难度较大的,Element提供了一个功能相当完善的级联选择器,本篇文章就进行一个详细的介绍。 2. 数据绑定 2.1 默认数据绑定 级联选择器默认会绑定一个数组,节点的显示文本和值分别对应label、value属性,节点的后代对应children属性。示例代码如下: 默认数据绑定,选中值{{value}

编程副队长 4万+

一文详解声码器

声码器(Vocoder)是语音信号处理领域的核心技术,其本质是通过“分析 - 参数化 - 合成” 的闭环流程,实现语音的高效编码、转换或生成。它不仅是早期语音通信的关键工具,更是现代 AI 语音技术(如 TTS、语音转换)的核心组件。以下从原理、技术分类、关键模块、应用及发展趋势展开详细解析。

weixin_41413777的博客 1351

Windows系统的Mamba环境配置详细教程(状态空间模型)

causal_conv1d也是安装mamba的依赖必须库。安装完成后,通过pip list可以查看到安装的库。Triton是安装mamba的依赖,需要先安装。上述工作准备好后,按下面步骤安装。直接根据离线文件安装即可。是自己的虚拟环境名字。

2301_77831163的博客 3673

Vue实现省市区级联选择器,使用Elementui的Cascader级联选择器获取label值

前言:项目中的收货地址需要使用到省市区级联选择器,选择的UI框架是 Element 效果图 获取到的数据 参考文档: Element的Cascader 级联选择器 省市区等联动地址数据:收纳了很多数据 我使用的数据是 pca-code.json 代码部分: <template> <el-cascader :options="options" ref="c...

风如也的博客 7796

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大致流程。 2. 卡尔曼滤波(Kalman filter) 目标跟踪中使用的就是最基础的 Kalman filter 算法。这里也仅仅讨论最基础的 Kalman filter 算法。 卡尔曼滤波算法的过程很简单,如下图所示。最核心的两个步骤就是预测和更新(下图的 correct)。 在目标跟踪任务中,目标的

生命在于折腾! 2万+

elementUi Cascader 级联选择器如何选择任意一级,以及所遇到的问题

1.拿到需求要实现级联选择器并且可以选择任意一级。运用elementUi 的cascader 组件,这个组件默认情况下是严格遵守父子节点互相关联的。要实现可以选择任意一级,那就要给任意一级设置可选择属性。官网提供的:props="{ checkStrictly: true }"解除父子节点互相关联。 2.问题来了。。。 设计师不想要前面的单选按钮,并且直接点击lable即可选中效果。 (1)想办法把单选按钮拿掉,第一时间想到的办法就是css将其隐藏 .el-radio { color: #606266

fuhegegnw的博客 1万+

STM32移植LVGL(LittleVGL)

**STM32移植LVGL(LittleVGL)**

qq_53000374的博客 1万+

SAP 系统和银行系统通过 SM2 加密算法进行集成

SM2 是基于椭圆曲线离散对数问题(ECDLP)的一种公钥密码算法。椭圆曲线加密的核心原理,是利用了一个数学难题:在椭圆曲线群上,已知曲线上两点的运算结果,逆向推导出这两个点的具体信息是非常困难的。这样的复杂度使得基于椭圆曲线的密码体制比传统的 RSA 更加难以破解。在 SM2 加密中,公钥和私钥的生成与传统的椭圆曲线加密类似。选择一个椭圆曲线和一个基点 P。使用私钥 d,计算公钥 P’ = d * P。私钥 d 保密,而公钥 P’ 可公开分发,用于加密数据。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1211

ElementUI 之 Cascader 级联选择器自定义节点内容

Cascader 级联选择器:自定义备选项的节点内容,参数为 { node, data },分别为当前节点的 Node 对象和数据 modeType:[{ "children": [{ "children": [{ "children": [], "label": { ...

yangwq的博客 9368

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 310

ElementUI 级联选择器的el-cascader校验

<el-form-item label="模型类别" prop="number"> <el-cascader v-model="newData.number" :options="modeData" :props="{ expandTrigger: 'hover' }" ></el-cascad...

yangwq的博客 1万+

《谷歌数据分析方法》脑图笔记

目录壹、脑图笔记贰、《谷歌数据分析方法》脑图文稿[^1]一、 反思数据分析二、选择数据分析工具的最佳策略第一步:选择数据分析工具前要回答的3个关键问题第二步:选择数据分析工具前要问供应商的10个问题第三步:如何有效地试用数据分析工具第四步:确定合作前的协议,检查供应商的服务条款三、点击流分析的精彩世界:指标8个关键网站指标数据分析指标揭秘关键网站指标的战略性策略四、成功的关键:衡量绩效关注“少数关键指标”衡量非电子商务网站的成功衡量B2B网站五、调研和测试永不过时的3个最佳调研问题选择线上调研供应商的8个建

积跬步,慕至千里的博客 2925

YOLOv13教程:手把手教你CSP_MutilScaleEdgeInformationSelect模块 通过DSM 在空间与局部对比域上做自适应选择

绿色线条为添加CSP_MutilScaleEdgeInformationSelect后的训练效果,map50指标提升12.45,准确率提升5.44。

FJN110的博客 815

elementUI样式修改(Cascader 级联选择器)

elementui的问世,大大提高了前端开发的工作效率,但同时也 带给我们不少烦恼。我们要用UI组件就免不了要对它做一些个性化定制需求,所以我们就必须要覆盖element的一些样式 下面是我开发中遇到的实例: 首先引入Cascader级联选择器,效果如图: 很明显这个样式不是我们需要的,那么就需要处理了… :附上控制台中的html 接下来,我在单页面组件下面新建style,然后改变它的样式 ....

qq_40043424的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

elementUI级联选择器Cascader,删除tag存在的问题

elementUI级联选择器Cascader,删除tag存在的问题 <div class="address-choose"> <div class="card-show"> <el-button class="tags" v-for="(item,index) in cityShowList" :key="index"

小阮的笔记本 4901

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ElementUI 之 Cascader 级联选择器指定 value label

ElementUI 的 Cascader 级联选择器个人觉得很好用,但是对 :options="options" 里的数据格式是有特定要求的:input 框显示的值是 options 里的label 值。如果 options 的键值对不是 value label ,就需要 props 来配置。 <el-cascader v-model="data" :options...

yangwq的博客 5597

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ElementUI 之 Cascader 级联选择器回显

级联选择器多选功能回显 // 选择器赋值 去除为children空数组 traverse(arr,value) { if(arr.length){ arr.forEach(item => { Vue.set(item,"name",item.label.name) Vue.set(item,"id",item.l...

yangwq的博客 3247

elementui的Cascader 级联选择器多选后回显问题

要在 Element UI 的 Cascader 组件中实现多选后根据选中的最后一级的多个 id 回显选中项,你可以使用 Cascader 组件的。属性来设置选中的值。存储了最后一级的多个 id。当点击“回显选中项”按钮时,// 根据选中的最后一级的多个 id 设置选中的值。// 开启该属性使级联选择不限制必须选中父级。// 假设这些是选中的最后一级的 id。,从而实现级联选择器的回显功能。,以适应不同的数据结构和选中项。你可以根据具体的需求调整。// 用于存储选中的值。

一个UI、前端爱好者。 4020

ElementUi中Cascader级联选择器 回调问题解决

ElementUi中Cascader级联选择器 回调问题解决 1,在开发中使用了Cascader级联选择器,应用于省市联动的效果,发现问题:数据回调时不显示。 2,解决方法:使用ref进行回调处理。 this.$refs.cityShow.presentText ="复制";// 首次手动复制 关键词是“presentText” 详细问题描述: Cascader级联选择器中使用的是props进行...

肖帅的博客 2036

ElementUI Form:Cascader 级联选择器

ElementUI Form:Cascader 级联选择器

ChinaDragon10的博客 2132

elementUI Cascader 级联选择器获取数据信息

官方API: http://element-cn.eleme.io/#/zh-CN/component/cascader  &lt;el-cascader :options="goodsOptions" v-model="selectedOptions" @change="handleChange()" :props="defaultData" size="mini" style="wi

Dreamer_xr的博客 2万+

Vue ElementUI 级联选择器支持多选

由于我们部门并没有产品经理,在做一个后台管理系统的过程中遇见了一个比较奇葩的需求,当时觉得如果采用ElemenyUI 的级联选择器岂不是很简单的吗?只是ElementUI的级联选择器并不支持多选,就此作罢。项目上线之后闲来无事,就心血来潮,各种百度之后终于算是写好了一个案列 安装:推荐使用npm安装 npm install ele-multi-cascader npm install ele...

weixin_42679187的博客 7829

elementui利用Cascader实现级联选择省市区的功能

利用Cascader实现省市区 vm部分:plaOptions=[] <el-form-item label="楼盘地址" style="margin-right: 20px"> <div class="block"> <el-cascader style="width: 238px;" :options="platOptio

ljxbbss的博客 3031
上一篇: 小程序 H5 PDF预览(wx.openDocument)
下一篇: Vue Element upload组件和Iview upload 组件上传文件
逩跑鍀小学生
博客等级 码龄5年 37粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值