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 这是我写的,可以去看看,希望对你们有帮助!!!
随机推荐
- springboot application.yml配置学习
一.背景 为了更好的使用springboot,所以看一下application.yml配置这块.主要是看数据绑定这块. 主要参考:https://www.hangge.com/blog/cache/d ...
- 题解 CF 1372 B
题目 传送门 题意 给出 \(n\),输出 \(a\) ,\(b\) (\(0 < a \leq b < n\)),使\(a+b=n\)且 \(\operatorname{lcm}(a,b ...
- CodeForces - 722C Destroying Array (并查集/集合的插入和删除)
原题链接:https://vjudge.net/problem/511814/origin Description: You are given an array consisting of n no ...
- Git 推送到远程仓库
github:https://github.com/ 国内的:https://gitee.com/ (和Github非常相似的) 一.Http方式进行推送 右击同步,配置远端,将URL替换成远程仓库的 ...
- raw目录的位置是D:\android_projects\qrscan\app\src\main\res\raw
D:\android_projects\qrscan\app\src\main\res\raw 这里可以放数据库文件和音频文件 文件名为sp.mp3 引用方法: MediaPlayer mp = Me ...
- Git 提交、删除、切换命令
1.将本地代码提交到远程仓库 [初始将文件修改上传到远程仓库] 初始化: git init 添加到暂存区: git add . 提交到仓库: git commit -m 'first commit' ...
- break statement not within loop or switch报错
break statement not within loop or switch. 注意你的循环,可能多加了个分号.for语句后面?
- 动态规划入门(dp)
dp的基本思想,是把大问题转化成一个个小问题,然后递归解决. 所以本质思想的话还是递归. dp最重要的是要找到状态转移方程,也就是把大问题化解的过程. 举个例子 一个数字金字塔 在上面的数字三角形中寻 ...
- Python os.pathconf() 方法
概述 os.pathconf() 方法用于返回一个打开的文件的系统配置信息.高佣联盟 www.cgewang.com Unix 平台下可用. 语法 fpathconf()方法语法格式如下: os.fp ...
- PHP date_sun_info() 函数
------------恢复内容开始------------ 实例 返回有关 2013 年 1 月 1 日,纬度 31.7667,经度 35.2333 的日出/日落和黄昏开始/黄昏结束的信息: < ...