vue.js 解决v-model让select默认选中不生效的问题


Posted in Javascript onJuly 28, 2020

笔者今天在开发中遇到一个看起来很神奇的问题,平时编辑的页面我们select下拉选框利用vue.js 的v-model来实现自动选中,今天无论如何都选不中,后来经过很久的复查和大神的一句话终于解决这个这个问题,顺便分享一下。

问题

先上代码:

vue.js 解决v-model让select默认选中不生效的问题

上图是前端的H5页面

下面是js代码:

vue.js 解决v-model让select默认选中不生效的问题

vue.js 解决v-model让select默认选中不生效的问题

一眼看上好像也没有什么问题。js 在初始化的时候,调用后台接口,取到数据然后传递给vue里面定义的data里面。并且前端页面除了select不能正常选中,其他的input 框的数据也都全部显示出来了(因为涉及一些机密的数据,所以还是涂鸦一下,主要还是把问题说清楚)

vue.js 解决v-model让select默认选中不生效的问题

按照常理来说是不可能出现这个问题,毕竟之前在其他的项目也做过类似的。于是就开始查找问题了。

思考1:

是不是vue.js的版本问题导致的,后来换了版本发现还是不行这个假设不成立

思考2:

是不是我的变量名称写错了,检查一遍肯定不是这个问题

思考3:

是不是后台传过来的值就是空的,然后进行验证利用js的打印以及input框输出

vue.js 解决v-model让select默认选中不生效的问题

发现页面上也是能显示出来了,然后又排除了这个原因。

思考4:

是不是后台的匹配的hyList没有值呢?看了控制台确实有值的,于是又再一次实验一下再vue 的data里面写死了一个值

vue.js 解决v-model让select默认选中不生效的问题

然后前端去v-model="hy"也可以默认选中。这时候我就非常的纳闷了,咋回事了呢?后面随手改一下数据把hy:"8082"改成hy:8082发现,咦?选不中了,是不是值类型不匹配导致的前端不能默认选中。幸喜了一下,以为找到问题,后面经过校验发现也不是这个问题(此过程省略500字),又失望了一下。

突然,在举手无措的时候,狂刷页面,有一次我竟然看见默认选中,于是我又陷入了深深的思考,这不会是灵异事件吧!一看时间不早了,同事都已经下班走了,而我秉着有些问题老是去想,想不到,还不如路上想想或许就想通了,确实下班的路上一直在想这个问题(然而并没有想到什么,哈哈)

回到家,依然打开电脑,在那里狂刷页面,还是期待着能够出现一次默认选中的,终于皇天不负有心人,出来了。出来是出来了,还是没有任何进程。无奈,去问一下以前在一起的一位前端大神吧!霹雳吧啦在qq上的把问题描述了一遍,大神说代码贴出来看看,而后,大神的第一句话就是,你这么写代码的第一次见,果然骚操作。大神说你调接口是ajax异步的。我突然明白了,原来我分别调了两次接口,获取行业列表是一个接口,获取基本信息的行业是一个接口,ajax 的异步调用,虽然在js 的初始化的是时候去调用了,但是可能基本信息先数据出来了,行业列表的信息还没有出来,导致前端不能默认选中的原因。

解决方案一:

把两个异步请求放在vue的mounted生命周期中,注意,一定先调行业列表的数据,后调基本信息数据

解决方案二:

写一个接口里面就可以了

总结:

主要是对于一些技术点还是停留在会用的阶段,不过对于ajax这个问题没有注意到确实不应该啊,平时总是霹雳吧啦的打代码。这次踩的这个坑,算是一种成长了,平时也是多注意的一些细节的问题的。

以上这篇vue.js 解决v-model让select默认选中不生效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
javascript的几种写法总结
Sep 30 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
Mar 09 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
react 父组件与子组件之间的值传递的方法
Sep 14 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
Nov 20 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
Node.Js生成比特币地址代码解析
Apr 21 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 #Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 #Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 #Javascript
Vue $emit()不能触发父组件方法的原因及解决
Jul 28 #Javascript
vue 遮罩层阻止默认滚动事件操作
Jul 28 #Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 #Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 #Javascript
You might like
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python实现的直接插入排序算法示例
2018/04/29 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
生态学毕业生自荐信
2013/10/27 职场文书
企业管理培训感言
2014/01/27 职场文书
师说教学反思
2014/02/07 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
2014年应急工作总结
2014/12/11 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python