ElementUI——级联和树形省市区
项目中有用到省市区选择,我们是三个接口获取数据的,在此记录一下级联和树形的区别:
级联HTML:
<el-cascader :props="region"></el-cascader>
级联JS:
region: {
lazy: true,
lazyLoad(node, resolve){
if(node.level === 0){
getProvince().then(val =>{
if (val.code == 200) {
const nodes = val.data.map(res =>({
label: res.name,
level: node.level,
value: res
}))
resolve(nodes)
}
}).catch(val=>{
console.log(val)
})
}else if(node.level === 1){
getCity(node.data.value.provinceId).then(value =>{
const nodes = value.data.map(res => ({
label: res.name,
level: node.level,
value: res
}))
resolve(nodes)
})
}else if(node.level === 2){
getCountry(node.data.value.cityId).then(value => {
const nodes = value.data.map(res => ({
label: res.name,
leaf: node.level,
value: res
}))
resolve(nodes)
})
}else if(node.leve === 3){
resolve([])
}
}
},
树形HTML:
<el-tree
ref="tree"
:props="props"
:load="loadNode"
lazy
node-key="id"
highlight-current
:default-expanded-keys="[1]"
@node-click="handleNodeClick"
/>
树形JS:
// 树形
data(){
return {
props: {
id: 1,
label: 'name',
childern: 'zones'
}
}
},
methods:{
loadNode(node, resolve) {
if (node.level === 0) {
//默认打开第一级(id: 1)
return resolve([{ name: '单位列表', level: node.level, id: 1 }])
} else if (node.level === 1) {
getProvince()
.then(val => {
// console.log(val);
if (val.code === 200) {
const nodes = val.data.map(res => ({
name: res.name,
level: node.level,
value: res
}))
resolve(nodes)
}
})
.catch(val => {
this.$message.error(val)
})
} else if (node.level === 2) {
getCity(node.data.value.provinceId)
.then(val => {
if (val.code === 200) {
const nodes = val.data.map(res => ({
name: res.name,
level: node.level,
value: res
}))
resolve(nodes)
}
})
.catch(val => {
this.$message.error(val)
})
} else if (node.level === 3) {
getCountry(node.data.value.cityId)
.then(val => {
if (val.code === 200) {
const nodes = val.data.map(res => ({
name: res.name,
level: node.level,
value: res
}))
resolve(nodes)
}
})
.catch(val => {
this.$message.error(val)
})
} else if (node.level === 4) {
resolve([])
}
},
}
}
ElementUI——级联和树形省市区的更多相关文章
- 使用 element-ui 级联插件遇到的坑
需求描述[省市区三级联动] 组件:Cascader 级联选择器 后端需要所选中的地区的名字,如:['北京市', '北京市', '东城区'] 获取后端省市区具体列表的接口返回数据: // 省 - 参数1 ...
- element-ui级联选择器(Cascader)获取级联对象 (主要是想获取:label值)
最近使用element-ui 的Casecader 级联对象时,后台要求将对象的label值也传过去,然而,element-ui 官方并没有提供这样方(keng)便 ( die ) 的方法. 一时间直 ...
- vue+element-ui之tree树形控件有关子节点和父节点之间的各种选中关系详解
做后端管理系统,永远是最蛋疼.最复杂也最欠揍的事情,也永远是前端开发人员最苦逼.最无奈也最尿性的时刻.蛋疼的是需求变幻无穷,如同二师兄的三十六般变化:复杂的是开发难度寸步难行,如同蜀道难,难于上青天: ...
- vue.js与element-ui实现菜单树形结构
由于业务需要,要求实现树形菜单,且菜单数据由后台返回,在网上找了几篇文章,看下来总算有了解决办法.借鉴文章链接在最底部. 场景:根据业务要求,需要实现活动的树形菜单,菜单数据由后台返回,最后的效果图如 ...
- ElementUI 级联选择框 设置最后一级可选及相关问题解决
在使用 elementUI 的 el-cascader 级联选择框进行省市联动效果时,有这么一个需求:该级联选择框一共有三级结构分别为国家-省份-城市,国家和省份为必选项,城市为可选项.具体实现如下: ...
- 新版Element-UI级联选择器高度位置不对的问题
在做电商后台管理系统项目事遇到的问题,可能视频是去年的,element现在已经是新版本了,有些地方修改了,从而导致了以下问题 级联选择器的位置不对 解决的方法就是在全局css中添加以下代码: .el- ...
- elementUI 级联选择框 表单验证
今天遇到了一个需求:进行级联选择框的表单验证,突然有点懵逼.感觉应该和正常的表单验证类似,但不是很清晰,后来还是在博客园找到了相关参考文章. 先上代码: <el-form :model=&quo ...
- Element-UI:级联选择器:Cannot read property 'level' of null"
当级联选择时如果其选择内容需要动态变化时,如果没有选择就不会报错的:而当做出选择后又要动态变化级联选择器内容时,就会报错/ 错误:这个错误的原因是当选择后,再更新内容时,选择器仍会关联原来的数据,导致 ...
- 关于element-ui级联菜单(城市三级联动菜单)和回显问题
https://segmentfault.com/a/1190000020458087 这是我写的,可以去看看,希望对你们有帮助!!!
随机推荐
- 谷歌浏览器又隐藏的HTTPS和WWW前缀
谷歌工程师 Emily Schechter 曾在 Chromium 反馈页面中提到:Chrome 团队一直将简易性.可用性.安全性作为衡量 UI 的标准.为了让 URL 能更好地被用户理解.移除那些容 ...
- org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication
Ftp问题 最近遇到了ftp读取中文乱码的问题,代码中使用的是FtpClient.google一下找到了解决方案. FTP协议里面,规定文件名编码为iso-8859-1,FTP类中默认的编码也是这个. ...
- maven项目原型(idea)
1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型) 2: internal -> appfus ...
- Statezhong shiyong redux props
在构造方法中使用props给state赋值不允许, 原因需要检查
- 一分钟速学 | NMS, IOU 与 SoftMax
非极大抑制 NMS的英文是Non-maximum suppression的缩写. 简单的说,就是模型给出了多个重叠在一起的候选框,我们只需要保留一个就可以了.其他的重叠的候选框就删掉了,效果可见下图: ...
- 第37课 智能指针分析(指针特征操作符( -> 、 *)重载)
1. 永恒的话题:内存泄漏 (1)动态申请堆空间,用完后不归还 (2)C++语言中没有垃圾回收的机制 (3)指针无法控制所指堆空间的生命周期------------指针是变量,可以指向内存堆空间,但是 ...
- laravel报错1071 Specified key was too long; max key length is 1000 bytes
Laravel 默认使用utf8mb4字符编码,而不是的utf8编码.因此运行php artisan migrate会出现如下错误: [Illuminate\Database\QueryExcepti ...
- Java Web(5)-Servlet详解(上)
一.Servlet 1. 什么是Servlet Servlet 是 JavaEE 规范之一,规范就是接口 Servlet 就 JavaWeb 三大组件之一,三大组件分别是:Servlet 程序.Fil ...
- Lua学习入门(代码块)
). if then else if a < then b = else b = end ). if elseif else then if a < then b = elseif a = ...
- [C#.NET 拾遗补漏]06:单例模式实佳实践
大家好,这是[C#.NET 拾遗补漏]专辑的第 06 篇文章.今天讲讲大家熟悉的单例模式. 单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式. ...