封装成一个子组件

<template>
<el-cascader
v-model="value"
clearable
placeholder="请选择"
ref="cascaderHandle"
:options="searchOptions"
:disabled="disabled"
filterable
:props="{ checkStrictly: true, expandTrigger: 'hover' }"
:before-filter="beforeFilter"
@focus="focus"
@blur="blur">
</el-cascader>
</template> <script>
export default {
name: 'cascaderInput',
model: {
prop: 'data',
event: 'change'
},
props: {
data: {
type: Array,
default: ''
},
options: {
type: Array,
default: () => {
return []
}
},
disabled:{
type: Boolean,
default: false
}
},
data () {
return {
keyword: this.data.join('/'),
value: this.data,
flag: 0
}
},
computed: {
search() {
const k = this.keyword
let result = [{label: k, value: k}]
if(this.isJsonString(k)) {
result[0] = {label: JSON.parse(k).label || k, value: k}
}
return result
},
searchOptions() {
return this.options.concat(this.search)
},
},
methods: {
isJsonString(str) {
let result = true
try{
JSON.parse(str)
}catch(erro){
result = false
}
return result
},
beforeFilter(keyword) {
this.keyword = keyword
this.value = [ keyword ]
},
focus(e) {
(this.flag == 0) && (e.target.addEventListener('keyup', this.keyup, false));
this.flag++;
},
blur(e) {
},
keyup(e) {
let value = e.target.value
if(value.length == 0) {
/*this.keyword = '无';*/
this.value = []
}
},
},
watch: {
value: {
deep: true,
handler(v,e) {
this.$emit('change', v)
if(this.$refs.cascaderHandle) {
var children = this.$refs.cascaderHandle.getCheckedNodes();
// if(children[0].children.length < 1){ //判断有没有下级
this.$refs.cascaderHandle.dropDownVisible = false; //监听值发生变化就关闭它
// }
}
}
},
data: {
deep: true,
handler(v) {
if(v.length == 1) this.keyword = v.join('/');
this.value = Array.isArray(v) ? v : v.split('/')
}
}
}
}
</script>

element Ui的级联选择器 任意一级选中下拉框自动关闭的更多相关文章

  1. js选中下拉框的默认选项

    //这是修改时选中 $("#type").find("option[value='"+factory+"']").attr("se ...

  2. 记录一下使用element ui使用级联选择器的坑,级联选择器的默认选中

    Cascader 级联选择器 使用级联选择器我使用的是默认选中值 下面是我的数据格式,只是形式相同,值不同, 后台的数据是这样的不是ID //级联选择器 <el-cascader :props= ...

  3. kendo 级联加带搜索的下拉框以及js赋值

    1‘.js给下拉框赋值 $("#UserRole").data("kendoDropDownList").value(dataItem.RoleName); $ ...

  4. robotframework 随机选中下拉框中的值

    示例脚本: click element id=provinceName #点击地区 省 wait until element is enabled xpath=.//*[@id='provinceNa ...

  5. element UI Cascader 级联选择器 编辑 修改 数组 路径 问题(转载)

    来源:https://segmentfault.com/a/1190000014827485 element UI的Cascader级联选择器编辑时 vue.js element-ui 2 eleme ...

  6. Element UI:级联选择器Cascader_动态加载_多级请求不同接口(已知第一级调取第二级)

    ELEMENT UI_CASCADER 使用过饿了么级联动态加载的小伙伴应该都知道,lazyLoad本身是一个无差别返回渲染结点的函数. 当我们存在一个需求:已知级联选择器的第一级结点,现在需要通过第 ...

  7. 基于element ui的级联选择器组件实现的分类后台接口

    今天在做资产管理系统的时候遇到一个分类的级联选择器,前端是用的element的组件,需要后台提供接口支持.     这个组件需要传入的数据结构大概是这样的,详细的可参考官方案例: [{ value: ...

  8. ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询

    ASP.NET MVC搭建项目后台UI框架—1.后台主框架 需求:在查询记录的时候,输入第一个字,就自动把以这个字开头的相关记录查找出来,输入2个字就过滤以这两个子开头的记录,依次类推. 突然要用到这 ...

  9. JSP默认选中下拉框的某一项

    注意<c:if>标签要写在<option>标签里面 <select id="salesInventory_${s.index}" style=&quo ...

随机推荐

  1. github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元. 专业的桌面IDE:IntelliJ IDEA,PyCharm等.学生的免费订阅,每年更新一次. ...

  2. C:将算术表达式的符号和数分开

    程序: #include <stdio.h> #include <string.h> static int pos=; static char* line; void test ...

  3. [bash] 打印到屏幕相关语法

    程序: #!/bin/bash function showAlertMsg(){ echo -e "\e[1;31m"$"\e[0m" } function s ...

  4. 基础Html重点——防健忘

    一.head标签重点 <head> <meta charset="utf-8"> <title>第二天课</title> <! ...

  5. IDEA项目左侧目录看不到target

    点击如下图所示图标,然后选择Show Excluded Files后即可出现

  6. js拖拽原理及简单实现(渣渣自学)

    第一步 首先简单分析下需求吧,我们就是想实现鼠标拖拽带颜色的方块时,让方块停留在鼠标松开的位置,需要计算的就是拖拽前的坐标和拖拽后的坐标,鼠标移动后相对于原位置的偏移量=目标元素的偏移量,根据这个等式 ...

  7. linux6.4内核由2.6升级成3.6

    安装CentOS 6.4之后,内核默认是2.6.32.由于docker需要3.0以上的内核,所以需要对内核进行升级. 1. 安装必要组件# yum -y install ncurses-devel # ...

  8. Python远程连接Redis

    import redisr=redis.Redis(host='192.168.56.102',port=6379,db=0,password='jinxfredis' )r.set('name',' ...

  9. CentOS6.10下安装MongoDB和Redis

    安装mongodb 首先考虑离线安装,但是安装过程中在启动服务的时候出现了问题,centOS出于稳定原因考虑,系统自带的glibc版本过低, 而编译需要使用较高版本,这个问题我查询了一下,需要升级gl ...

  10. Git进阶:常用命令和问题案例整理

    一.前言 整理常用git命令和以及在实际使用的过程中碰到的问题案例,旨在git进阶,提升工作开发效率,有需要补充的小伙伴欢迎下方留言,本篇持续更新中... 二.命令 配置用户名和邮箱 git conf ...