当前位置: 首页 > news >正文

elementui 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 } = nodeconst nodes = []let type = level ? level + 1 : 1this.$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

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

http://www.lryc.cn/news/111390.html

相关文章:

  • 【ChatGPT 指令大全】怎么利用ChatGPT写报告
  • 【枚举,构造】CF1582 C D
  • POJ 3169 Layout BellmanFord Dijkstra
  • 数据库管理员知识图谱
  • 中兴服务器支持百度“文心一言”,助力AI产业发展
  • STM 如何通过网络 time.windows.com获取时间
  • 数据结构——红黑树
  • 【C++】数据结构与算法:常用排序算法
  • 【C++】Bullet3代码存档
  • 弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕
  • Java中创建对象的几种方式
  • Python(三)
  • android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用
  • 宁波银行最新内推码 MK4913
  • postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
  • 【Python从小白到高手】---函数基础
  • postman----传参格式(json格式、表单格式)
  • Uni-Dock:GPU 分子对接使用教程
  • 【Python】数据分析+数据挖掘——掌握Python和Pandas中的单元格替换操作
  • Godot 4 源码分析 - 增加格式化字符串功能
  • C#中XML文档与Treeview控件操作的数据同步
  • 【Java Web基础】mvn命令、Maven的安装与配置
  • 加强Web应用程序安全:防止SQL注入
  • 【云原生】k8s中Contrainer 生命周期回调/策略/指针学习
  • electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用
  • SQL 表别名 和 列别名
  • 面试之快速学习c++11-函数模版的默认模版参数,可变模版,tuple
  • Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插件】
  • 源码编译安装gcc
  • pc文件上传