element-ui el-cascader级联选择器设置指定层级不能选中(示例代码)

这篇具有很好参考价值的文章主要介绍了element-ui el-cascader级联选择器设置指定层级不能选中(示例代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文为转载原地址:https://www.136.la/shida/show-396330.html
有时候用element-ui el-cascader级联选择器添加分类时会遇到最多添加几级的限定.看了文档,只要给需要禁止选择的选项添加disabled属性就可以.但是使用一层一层循环遍历数据感觉很麻烦,自己写了个遍历的方法,纪录下,方便以后使用文章来源地址https://www.toymoban.com/news/detail-513769.html

<template>
  <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 => {
            if (v.childs && v.childs.length) {
              count++
              this.setDisable(count, v.childs, maxNum)
            }
          })
        }
      },
      // 添加分类
      submitForm () {

      },
      handleChange (val) {
        console.log(val)
      }
    }
  }
  </script>
  
  <style>

  
  </style>

到了这里,关于element-ui el-cascader级联选择器设置指定层级不能选中(示例代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • el-cascader级联选择器那些事

    vue3+element-plus+ts 使用cascader组件提供的getCheckedNodes()

    2024年02月16日
    浏览(43)
  • Element-ui(Cascader 级联选择器)实现三级联动

    市区表: 县区表: 省级表: Controller层: service层 serviceimpl实现 mapper层实现 映射省下面所有的市 映射市下面所有的县 查询所有的区县 对应的省JavaBean 对应市JavaBean 对应的县区JavaBean 级联选择器 方法: 注意:级联选择器需要保持和后端映射保持一致回显数据 element-ui官网级

    2024年02月11日
    浏览(67)
  • Element UI 中使用el-cascader组件,可以选择任意一级的内容并取消单选框

    当加入checkStrictly后就会出现单选框的问题,修改样式即可;这里使用的less语法,需要有less依赖,加入样式后如果没有生效,可以放在App.vue中的样式下

    2024年02月04日
    浏览(56)
  • element-ui cascader级联选择器,获取对象Object(getCheckedNodes()、currentLabels)

    element-ui中的cascader级联选择器,官网文档中并没有提供方法直接获取当前选择的Object,这里特别需要注意element-ui的版本问题,不同的版本需要用到不同的方法。 可以用this.$refs[‘cascader’].currentLabels获取选中节点。 //获取节点label内容 因为安装的element-ui版本高于2.7.0版本,所

    2024年02月16日
    浏览(40)
  • element 的 el-cascader 组件获取级联选中label和value值

    1.  多选时  获取 cascader 级联选择器的 label 值         需要给 el-cascader 加 ref 用以获取值  获取后的样式 2. 单选时获取 cascader 级联选择器的值     

    2024年02月12日
    浏览(58)
  • ElementPlus el-cascader级联选择器 实现一级菜单单选,二级菜单多选

    需求: 利用el-cascader级联实现一级菜单单选,二级菜单多选的功能,如下图所示: 思路: 使用了多选multiply属性,这个属性下,选中的数据结构为:一级为length1的数组,二级为length2的数组。利用标识符,把最后选中的一级菜单的值与标识符做对比,如不同,则让标识符的值

    2024年02月11日
    浏览(48)
  • el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。

    加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法 filter-method 不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。 直接监听级联选择的 v-model 绑定的值是无法检测到用户自己输入的。 解决思路: el-cascader 没有提供监听用户

    2024年02月14日
    浏览(41)
  • 奇葩功能实现:级联选择框组件el-cascader实现同一级的二级只能单选,但是一级可以多选

    前言: 其实也不能说这个功能奇葩,做项目碰到这种需求也算合理正常,只是确实没有能直接实现这一需求的现成组件。 el-cascader作为级联选择组件,并不能同时支持一级多选,二级单选的功能,只能要么是单选或者多选。 不过既然产品提了这个需求,皱着眉头也得上啊。

    2024年02月16日
    浏览(38)
  • vue+element UI 使用el-cascader实现全选功能

    实现效果图     使用el-cascader代码片段 js代码 data数据设置: // 这里是处理成自己需要的数据格式, 需要把全选的这一选项过滤掉 // 原始选择的数据格式 [[\\\'全选\\\'], [1, 2], [1, 3], [1, 4],[5, 6], [5, 7, 8],5, 7, 9],[10]] //因为我自己需要的数据是“2,3,4,5”的格式,做了以下处理 注:本文是

    2024年02月12日
    浏览(50)
  • element ui cascader级联选择器 动态加载以及回显

    当数据比较多的时候,一次性获取全部数据速度太慢,而且体验不太好,所有需要用到懒加载,一级一级的选择数据就能很好避免速度慢的问题。 以及我们使用el-cascader加载默认值的时候,cascader的输入框和联级选择框都会遇到的回显问题。看代码!!! 参数说明: value / v-model 选中

    2024年02月15日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包