关于级联选择器el-cascader的一些属性

级联选择器如下:

基本用法:

<el-cascader
  v-model="value"
  :options="options"
  @change="handleChange">
</el-cascader>

特性:

1.后端返回的数据格式名称跟前端需要的名称不一致:

使用:props动态改变

:props="optionProps"

optionProps: {
  value: ‘id‘,
  label: ‘name‘,
  children: ‘problemList‘
},

2.可以选择其中某一级的:

级联选择器默认只能选择最后一级的,想要选择任意一级,加上属性change-on-select

change-on-select

3.获取选择的该级的数据id:

方法changeProblemType获取的数据是个数组,若是只想要选择的该级的数据id,通过遍历该数组获取最后一个数值。

@change="changeProblemType"

changeProblemType(value){
  console.log(value)
},

let lengths = this.formName.problemType.length;
let problemType_data = this.formName.problemType[lengths-1];

4.当最后一级为空数组时,选择框还是显示出来了,但是没内容:

因为后台返回的最后一级虽然没内容,但是是个空数组,所以会显示空白,通过递归判断是否是空数组,然后设置为undefined即可。

//获取问题类型数据
getProblemTypes(){
  this.axios({
    method:‘post‘,
    url:window.API_HOST+‘/problemType/getProblemType‘,
  }).then((res)=>{
    if(res.data.is_success){
      this.problemTypes = this.getTreeData(res.data.rets.problemTypeTree);
    }
  })
},
//递归判断列表,把最后的children设为undefined
getTreeData(data){
  for(var i=0;i<data.length;i++){
    if(data[i].problemList.length<1){
      // children若为空数组,则将children设为undefined
      data[i].problemList=undefined;
    }else {
      // children若不为空数组,则继续 递归调用 本方法
      this.getTreeData(data[i].problemList);
    }
  }
  return data;
},

代码:

<el-cascader
  v-model="formName.problemType"
  change-on-select
  :show-all-levels="false"
  :props="optionProps"
  :options="problemTypes"
  @change="changeProblemType">
</el-cascader>

原文地址:https://www.cnblogs.com/5201314m/p/12066885.html

时间: 2024-10-10 04:36:19

关于级联选择器el-cascader的一些属性的相关文章

vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、一级mockjs用法、路由懒加载三种方式

不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p>Element UI简单Cascader级联选择器使用</p> <el-cascader :options='options' v-model="selectedOptions" @change="handleChange"> </el-

element-ui Cascader 级联选择器示例

<html> <head>test</head> <style> @import url("http://unpkg.com/[email protected]/lib/theme-chalk/index.css"); </style> <body> <script src="http://unpkg.com/vue/dist/vue.js"></script> <

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

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

Element中的Cascader 级联选择器高度问题解决方案

今天在做黑马项目的时候遇到了级联选择器的一个坑. 高度不适配. 在你的全局global.css里面添加 .el-cascader-menu { height: 300px; } 就可以解决了. 这是element的新版本的坑. 原文地址:https://www.cnblogs.com/famensaodiseng/p/12155684.html

element-ui el-cascader级联选择器设置指定层级不能选中

有时候用element-ui el-cascader级联选择器添加分类时会遇到最多添加几级的限定.看了文档,只要给需要禁止选择的选项添加disabled属性就可以.但是使用一层一层循环遍历数据感觉很麻烦,自己写了个遍历的方法,纪录下,方便以后使用 贴代码 cascader.vue <template> <el-dialog title="添加分类" :visible.sync="dialogVisible" width="500px&qu

[ jquery 表单UI选择器和表单元素属性选择器 ] 表单UI选择器和表单元素属性选择器

表单UI选择器和表单元素属性选择器: 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2,keywo

EL表达式获取对象属性的原理

EL表达式获取对象属性的原理是这样的:以表达式${user.name}为例EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值. 所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get方法. 其实你要了解EL表达式的运行原理,它其实后台也对应的Java代码,它会先将你EL表达式中的对象属性的首字符大写,拼成getXX()方法,然后利用

由移动端级联选择器所引发的对于数据结构的思考

GitHub:https://github.com/nzbin/Framework7-CityPicker Demo:https://nzbin.github.io/Framework7-CityPicker/ 前言 最近在做移动端项目的时候遇到了省市区选择的功能.以往做项目时都是省市区分开的下拉框样式.这次希望实现效果图要求的级联选择器.我是 Framework7 框架的忠实粉丝,庆幸的是 Framework7 已经有模拟 iOS 选择框效果的 Picker 组件.在开发之前我先搜索了现有的一

Vue省市区三级联选择器V-Distpicker的使用

Vue省市区三级联选择器V-Distpicker的使用 最近用的Vue+Element UI时,有些地方需要用到省市区三联选择器,网上安装并尝试了多种类似的插件,但都因为无法正常实现或是没有眼缘而弃用了.最后选择的是V-Distpicker这种,配置和使用起来还算是比较简单的,下面就分享一下其用法和需要注意的点(需要踩过的坑). 1.使用方法 安装和文档,请查看官网https://distpicker.pigjian.com/ ? 或者 同性交友网站https://github.com/jcc/