vue实现两级select联动+input赋值+select选项清空

 更新时间:2024年08月28日 16:54:26   作者:迪尔~  
这篇文章主要介绍了vue实现两级select联动+input赋值+select选项清空过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue两级select联动+input赋值+select选项清空

功能描述

根据select1的选项改变select2的选项,同时 根据select2的选项给input上的时间附上对应的值,当select1清空时将select2和input的值也进行清空

Java传输数据:

  • id(类型:Integer)
  • dictKey(类型:String)
  • dictValue(类型:String)
  • dictTime(类型:Date)

时间用于对input赋值

(格式: (pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “Asia/Shanghai”))

       <el-form-item label="课程类型:" prop="courseType">
        <el-select v-model="form.courseType" clearable placeholder="请选择" :validate-event="true" @change='getValue($event)'>
          <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
          </el-option>
        </el-select>
      </el-form-item>
     <el-form-item label="培训名称:" prop="courseId">
        <el-select v-model="form.courseId" placeholder="请选择培训名称(课题)" :validate-event="true"  ref="vendorId" @change='getTitle'>
          <el-option v-for="item in titleList" :key="item.id" :value="item.dictKey"  :label="item.dictValue"></el-option>
        </el-select>
      </el-form-item>
     <el-form-item label="参训时间:" prop="trainingTime">
        <el-date-picker :disabled="true" v-model="form.trainingTime" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss">
        </el-date-picker>
      </el-form-item>
  • 效果图:

因为时间是从后台获取的,所以设置为用户无法修改

加入select中的数据

(该数据是在前台加入的 select2是根据数据库返回的数据而变化的)

      return {
        titleList: [],//课程类型
        trainingTime:null,
        trainingLocation:null,
       options: [{
          value: 'study',
          label: '学习专题'
        }, {
          value: 'online',
          label: '线上培训'
        }, {
          value: 'offline',
          label: '线下培训'
        }],
        value:''
           }
        
        
  • 效果图:

点击事件

      //获取选项值 判断是否有值 根据有无值是否调用链接
      getValue(event){
      //当event等于0时,可能有两种情况 
      //1.刚进入页面,select1没有选中选项
      //2.选完了,用户将该选项数据清空了 
      //2情况如果只清除select1的值那么已选的select2和input的值都还在
      //如果用户保存了会造成数据错误 所以在清除select1的同时也要清除select2和input的值
        if(event.length==0){
           //清除select1的值
           this.form.title=null
           //清除select2中所有的选项和值
           this.$set(this.form, 'courseId', '')
           //清除input的值
           this.form.trainingTime=null
        }else if(event.length!=0){
       //不为空时将根据select的选项进项数据查询
           dictApi.dictListByCode1(event).then(re => {
          //根据this.titleList.length是否有值清除对应的值 和上面原因类似
           if(this.titleList.length!=0){
           this.$set(this.form, 'courseId', '')
           this.form.trainingTime=null
           this.titleList.length = 0;
          this.form.title=null
           }
          //给titleList附上查询后的返回值
        this.titleList = re.response
           })
        }
      }, 
      getTitle(e) {
        this.titleList.map((item, i) => {
         if (item.dictKey == e) {
        //根据select所选的值给input赋上对应的值
          this.form.trainingTime=item.dictTime     
          this.form.title= item.dictValue
          
        }
      });
    },
  • 效果图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决Vue项目中tff报错的问题

    解决Vue项目中tff报错的问题

    这篇文章主要介绍了解决Vue项目中tff报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • vue中如何去掉空格的方法实现

    vue中如何去掉空格的方法实现

    这篇文章主要介绍了vue中如何去掉空格的方法实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • VUE整合Echarts实现简单的数据可视化方式

    VUE整合Echarts实现简单的数据可视化方式

    文章介绍了ECharts的数据可视化功能和使用过程,首先,文章阐述了ECharts的功能和优势,接着,文章通过安装ECharts、创建容器、获取DOM对象、引入图表等代码片段等步骤详细介绍了柱状图和饼图的可视化过程,最后,文章介绍了主题的下载和应用,以提高可视化效果
    2026-04-04
  • Vue项目打包成exe可执行文件的实现过程(无瑕疵,完美版)

    Vue项目打包成exe可执行文件的实现过程(无瑕疵,完美版)

    突然接到公司需求,说客户想让我们把项目直接打包,所以下面这篇文章主要给大家介绍了关于Vue项目打包成exe可执行文件的实现过程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vuecli4配置sass与less详解

    vuecli4配置sass与less详解

    这篇文章主要为大家介绍了vuecli4配置sass与less详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Vue项目安装使用moment.js方式

    Vue项目安装使用moment.js方式

    文章介绍了如何在Vue项目中安装和使用moment.js,包括安装步骤、导入方法、汉化设置以及在Vue实例中使用moment.js进行日期处理
    2024-11-11
  • Vue中消息横向滚动时setInterval清不掉的问题及解决方法

    Vue中消息横向滚动时setInterval清不掉的问题及解决方法

    最近在做项目时,需要进行两个组件联动,一个轮询获取到消息,然后将其传递给另外一个组件进行横向滚动展示,结果滚动的速度越来越快。接下来通过本文给大家分享Vue中消息横向滚动时setInterval清不掉的问题及解决方法,感兴趣的朋友一起看看吧
    2019-08-08
  • 关于vue利用postcss-pxtorem进行移动端适配的问题

    关于vue利用postcss-pxtorem进行移动端适配的问题

    这篇文章主要介绍了关于vue利用postcss-pxtorem进行移动端适配的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Vue之data定义的三种方式及区别说明

    Vue之data定义的三种方式及区别说明

    这篇文章主要介绍了Vue之data定义的三种方式及区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue表单vxe-form多字段联动校验的操作方法(对一个控件校验多个关联字段)

    vue表单vxe-form多字段联动校验的操作方法(对一个控件校验多个关联字段)

    vue表单vxe-form如何多字段联动校验,对一个控件校验多个关联字段,这篇文章给大家介绍vue表单vxe-form如何多字段联动校验,对一个控件校验多个关联字段,感兴趣的朋友跟随小编一起看看吧
    2026-02-02

最新评论