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 这是我写的,可以去看看,希望对你们有帮助!!!
随机推荐
- C++语法小记---多重继承
多重继承 工程中不建议使用多继承,因为多继承带来的问题比带来的便利多,已被放弃 问题一:多重继承的对象,向上获取指针时,有不同的地址 ----无法解决 问题二:菱形继承问题,导致成员冗余 ----虚继 ...
- 死磕Spring源码之AliasRegistry
死磕Spring源码之AliasRegistry 父子关系 graph TD; AliasRegistry-->BeanDefinitionRegistry; 代码实现 作为bean定义的最顶层 ...
- Windows 下Java JDK的下载与安装
前言: 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤基本完全一样,不同的地方会在下面的步骤中指出. 一.JDK的下载 为了计算机安全,我们首先要做到的就是尽量在官 ...
- 学习 bypass csp记录
最近看到一篇bypas csp的记录复现学习下 配置csp 这里直接设置html头达到配置csp的效果. Content-Security-Policy: script-src 'self' 'uns ...
- expect使用技巧
1) 获取命令行参数,例如通过./abc.exp a1 a2执行expect脚本 set 变量名1 [lindex $argv 0] 获取第1个参数a1 set 变量名2 [lindex $argv ...
- PHP curl_share_init函数
(PHP 5 >= 5.5.0) curl_share_init — 初始化一个 cURL 共享句柄 说明 resource curl_share_init ( void ) 允许两个 cURL ...
- PHP strcoll() 函数
实例 比较字符串: <?php高佣联盟 www.cgewang.comsetlocale (LC_COLLATE, 'NL');echo strcoll("Hello World!&q ...
- Skill 脚本演示 ycFloatUpLayer.il
https://www.cnblogs.com/yeungchie/ ycFloatUpLayer.il 将选中 instance 中的指定 lpp "上浮". 回到目录
- Scala---初探
scala语言量大特性:面向对象+函数式编程 Scala的类型 val指的是引用不可变,而不是值. 值类型 Byte Char Short Int Long Float Double 引用类型 Str ...
- 华为手机内核代码的编译及刷入教程【通过魔改华为P9 Android Kernel 对抗反调试机制】
0x00 写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP ...