京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

2024-11-2 22:44| 发布者: c2688| 查看: 106| 评论: 0

摘要: 目次vue两级select联动+input赋值+select选项清空功能形貌时间用于对input赋值到场select中的数据点击事件总结vue两级select联动+input赋值+select选项清空 功能形貌 根据select1的选项改变select2的选项,同时 根据
目次

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

功能形貌

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

Java传输数据:

  • [code]id[/code](类型:Integer)
  • [code]dictKey[/code](类型:String)
  • [code]dictValue[/code](类型:String)
  • [code]dictTime[/code](类型:Date)

时间用于对input赋值

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

[code] <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>[/code]
  • 效果图:

由于时间是从背景获取的,以是设置为用户无法修改

到场select中的数据

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

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

点击事件

[code] //获取选项值 判断是否有值 根据有无值是否调用链接 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 } }); },[/code]
  • 效果图:

总结

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


来源:https://www.jb51.net/javascript/3266409k8.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-2 09:13 , Processed in 0.038224 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部