element-ui el-cascader级联选择器设置指定层级不能选中
<el-dialog
title="添加分类"
:visible.sync="dialogVisible"
width="500px">
<div class="role_contanier">
<el-form label-width="80px" :model="typeInfo">
<el-form-item label="分类名称">
<el-input v-model="typeInfo.name"></el-input>
</el-form-item>
<el-form-item label="分类组">
<el-cascader
v-model="typeInfo.group"
:options="typeOptions"
:props="props"
@change="handleChange">
</el-cascader>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">添加</el-button>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</template> <script>
export default {
props: { },
data() {
return {
dialogVisible: false,
typeInfo: {
group: '',
name: ''
},
typeOptions: [], // 分类层级选项
props: {
label: 'name', // 显示的选项
value: 'id', // 选择的value值
children: 'childs', // 子级属性名
checkStrictly: true // 可以选择任意一级
} // 指定层级属性
}
},
created() {
this.getTypeOptions()
},
mounted() { },
methods: {
// 获取分类级别
getTypeOptions () {
// 假设后台返回的数据 4级
let resDate = [{
id: 1,
name: '食品',
childs: [
{id: 3, name: '进口食品', childs: [
{id: 5, name: '果干', childs: [{id: 7, name: '坚果',}]},
{id: 6, name: '面包'}
]
},
{id: 4, name: '国内食品'}
]
}, {id: 2, name: '清洁'}
]
// 限制只能添加4级分类
this.setDisable (1, resDate, 3)
console.log(resDate)
this.typeOptions = resDate
this.dialogVisible = true
}, // 超过3级,不能选中,子级分类最多4级
/**
* count: 当前层级
* data: 当前层级的数据
* maxNum: 最多不能超过几级
*/
setDisable (count, data, maxNum) {
if (count > maxNum) { //最多几级就写几
data.forEach(v => {
v.disabled = true // 超过设定的最大级数,给这一集的数据添加disabled属性
})
} else {
data.forEach(v => {
v.count = count // 设置最外层数据的初始count
if (v.childs && v.childs.length) {
v.count++
this.setDisable(v.count, v.childs, maxNum) // 子级循环时把这一层数据的count传入
}
})
}
},
// 添加分类
submitForm () { },
handleChange (val) {
console.log(val)
}
}
}
</script> <style> </style>
效果图: 第4级,(坚果不能被选中,也就不能再往下添加分类)
element-ui el-cascader级联选择器设置指定层级不能选中的更多相关文章
- vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式
不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...
- element UI Cascader 级联选择器 编辑 修改 数组 路径 问题(转载)
来源:https://segmentfault.com/a/1190000014827485 element UI的Cascader级联选择器编辑时 vue.js element-ui 2 eleme ...
- element 的 Cascader 级联选择器设定默认值
Cascader 级联选择器 发现在很多的CRM管理系统里面,都有不少页面是用到这种级联选择器的,确实,功能很实用, 不过要设置默认值则应该让不少人头痛,因为你选择的时候 @change 事件的参数就 ...
- ElementUI 之 Cascader 级联选择器指定 value label
ElementUI 的 Cascader 级联选择器个人觉得很好用,但是对 :options="options" 里的数据格式是有特定要求的:input 框显示的值是 option ...
- Cascader 级联选择器
当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择. 基础用法 有两种触发子菜单的方式 只需为 Cascader 的options属性指定选项数组即可渲染出一个级联选择器. 通过expa ...
- ElementUI组件Cascader级联选择器数据后台处理
Cascader级联选择器数据数据格式不知道的可以去官网看下:这里我就不表示什么了. 部门实体类: import lombok.Data; @Data public class Department ...
- element-ui Cascader 级联选择器示例
<html> <head>test</head> <style> @import url("http://unpkg.com/element- ...
- element ui 中的时间选择器怎么设置默认值/el-date-picker区间选择器怎么这是默认值
template代码 <el-date-picker value-format="yyyy-MM-dd" v-model="search.date" ty ...
- Cascader 级联选择器无法赋值
问题: html: <el-cascader v-model="addform.qxvalue" :options="options" :props=&q ...
随机推荐
- 模型压缩-L1-norm based channel pruning(Pruning Filters for Efficient ConvNets)
论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS 转载:https://www.cnblogs.com/zhonghuasong/p/7642000.html ...
- JAVA 基础编程练习题28 【程序 28 排序算法】
28 [程序 28 排序算法] 题目:对 10 个数进行排序 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即 用第二个元素与后 8 个进行比较,并进 ...
- centos安装tidy扩展
wget http://pecl.php.net/get/tidy-1.2.tgztar -xvzf tidy-1.2.tgzcd tidy-1.2/usr/local/php/bin/phpize. ...
- [转]将西部数据 My Passport Wireless 移动存储连接到任何支持的云存储上
原文标题:对西部数据 My Passport Wireless 移动存储进行 Linux 魔改 原文链接:https://linux.cn/article-8246-1.html 虽然 WD My P ...
- unity3d 触屏多点触控(旋转与缩放)
unity3d 触屏多点触控(旋转与缩放) /*Touch OrbitProgrammed by: Randal J. Phillips (Caliber Mengsk)Original Creati ...
- 慎用rm -rf
首先,搞个回收站在~下 .bashrc或者.bash_profile加入 mkdir -p ~/.trash alias rm=trash alias r=trash alias rl='ls ~/. ...
- QFramework 使用指南 2020 (一): 概述
大家好,我是 QFramework 的作者 凉鞋,QFramework 从第一次代码提交到现在快 5 年了,期间陆陆续续增加了很多功能,在使用体验上做了大量的改进. 而市面上关于 QFramework ...
- 【ARM-Linux开发】arm-none-Linux-gnueabi-gcc下载安装
arm-none-Linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具.可用于交叉编译ARM系统中所有环节的代码,包括 ...
- C#规范整理·异常与自定义异常
这里会列举在C#中处理CLR异常方面的规范,帮助大家构建和开发一个运行良好和可靠的应用系统. 前言 迄今为止,CLR异常机制让人关注最多的一点就是"效率"问题.其实,这里存在认 ...
- 【gcd】辗转相除法
#include<stdio.h> int gcd(int a, int b) { int c; while(b) { c = a % b; a = b; b = c; } return ...