ElementUI中两个Select选择联动效果实现方法

 更新时间:2023年08月03日 11:28:11   作者:祁一枝  
这篇文章主要给大家介绍了关于ElementUI中两个Select选择联动效果实现的相关资料,在前端项目开发中,经常会遇到省市县三级联动的下拉列表框组的问题,需要的朋友可以参考下

实现ElementUI中两个Select选择联动效果

先上图

通过赋值的方式实现 即子级下拉选项循环数组为空 将所需的值对空数组重新赋值

代码如下

第一个循环数组为procedureType 第二个是causeGroup 暂且称之为父级与子级

  <el-select 
     v-model="ruleForm.procedure_type" 
     placeholder="请选择" 
     @change="changeSelect"
     >
      <el-option
        v-for="(item,i) in procedureType"
        :key="i"
        :label="item"
        :value="item"
      >
      </el-option>
    </el-select>
    <el-select 
      v-model="ruleForm.cause_group" 
      placeholder="请选择" 
      style="margin-left: 30px"
      >
      <el-option
        v-for="(item,i) in causeGroup"
        :key="i"
        :label="item"
        :value="item"
      >
      </el-option>
    </el-select>

须注意的是父级下拉绑定的change事件 要对子级作出滞空操作 也就是清空子选项的值不然会出现切换选项1 或者 选项2的时候子级选项值保留的问题 如下所示

 methods: {
    changeSelect() {
      // 联动子级滞空
      this.ruleForm.cause_group = "";
      // 循环遍历父级
      for (const k in this.procedureType) {
        if (this.ruleForm.procedure_type === this.procedureType[k]) {
        // 核心代码在这里 进行赋值操作
          this.causeGroup = this.TypeObj[this.ruleForm.procedure_type];
        }
      }
    },
  },
  data() {
    return {
    // 在这里定义所需的值
      procedureType: ["选项a", "选项b"],
      TypeObj: {
        选项a: ["连级选项a1", "连级选项a2", "连级选项a3"],
        选项b: ["连级选项b1", "连级选项b2", "连级选项b3"],
      },
      ruleForm: {
        procedure_type: "",
        cause_group: "",
      },
      // 由 changeSelect 接管 causeGroup 的值
      causeGroup: [],
    };
  },

到这里已经实现了两个Select下拉联动的效果 关键就在于将定义好的值赋值给子级数组本文是模拟假数据 所以直接在数组定义数据 如果是从接口拿值 在接口请求处将数据赋给procedureTypeTypeObj即可其实还有更简单的写法 子级数组直接循环 不进行赋值操作 但仍需保留滞空操作

<el-select
      v-model="ruleForm.cause_group"
      placeholder="请选择"
      style="margin-left: 30px"
    >
      <el-option
        v-for="(item, i) in TypeObj[ruleForm.procedure_type]"
        :key="i"
        :label="item"
        :value="item"
      >
      </el-option>
    </el-select>

总结 

到此这篇关于ElementUI中两个Select选择联动效果实现的文章就介绍到这了,更多相关ElementUI Select选择联动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue+Vux项目实践完整代码

    Vue+Vux项目实践完整代码

    本文给大家分享一段详细的代码给大家介绍Vue+Vux项目实践思路,需要的朋友可以参考下
    2017-11-11
  • 详解vuex数据传输的两种方式及this.$store undefined的解决办法

    详解vuex数据传输的两种方式及this.$store undefined的解决办法

    这篇文章主要介绍了vuex数据传输的两种方式 及 this.$store undefined的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • vue3封装侧导航文字骨架效果组件

    vue3封装侧导航文字骨架效果组件

    这篇文章主要为大家详细介绍了vue3封装侧导航文字骨架效果组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue2.x+webpack快速搭建前端项目框架详解

    vue2.x+webpack快速搭建前端项目框架详解

    本文给大家介绍了vue2.x、webpack、vuex、sass+axios、elementUI等快速搭建前端项目框架的详细操作方法,需要的跟着学习下吧。
    2017-11-11
  • elementui中树形表格切换展开不同层级的示例代码

    elementui中树形表格切换展开不同层级的示例代码

    这篇文章主要介绍了elementui中树形表格切换展开不同层级,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • vue项目环境搭建 启动 移植操作示例及目录结构分析

    vue项目环境搭建 启动 移植操作示例及目录结构分析

    这篇文章主要介绍了vue项目环境搭建、启动、项目移植、项目目录结构分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 简单实现vue验证码60秒倒计时功能

    简单实现vue验证码60秒倒计时功能

    这篇文章主要为大家介绍了如何简单实现vue验证码60秒倒计时功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • vue移动端弹起蒙层滑动禁止底部滑动操作

    vue移动端弹起蒙层滑动禁止底部滑动操作

    这篇文章主要介绍了vue移动端弹起蒙层滑动禁止底部滑动操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 在vue中实现PDF文件流预览功能

    在vue中实现PDF文件流预览功能

    这篇文章主要为大家详细介绍如何在vue中实现PDF文件流预览功能,文中的实现步骤讲解详细,对大家的学习或工作具有一定的参考价值,需要的可以参考一下
    2023-12-12
  • 使用 Vue 3 的 createApp方法初始化应用的基本步骤

    使用 Vue 3 的 createApp方法初始化应用的基本步骤

    createApp 是 Vue 3 引入的全局 API,用于创建一个应用实例,这篇文章主要介绍了如何使用 Vue 3 的 createApp方法初始化应用,通过 createApp 方法,我们从 Vue 3 的基本初始化开始,扩展到插件的应用、多个应用实例的创建等,需要的朋友可以参考下
    2024-05-05

最新评论