位置: IT常识 - 正文

(详解)Vue设置select下拉框的默认选项(解决select空白的bug)(vue0)

编辑:rootadmin
(详解)Vue设置select下拉框的默认选项(解决select空白的bug)

推荐整理分享(详解)Vue设置select下拉框的默认选项(解决select空白的bug)(vue0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuez,vueemit,vue小技巧,vue小技巧,vue 怎么调试,vue 怎么调试,vue怎么配置,vue设置rem,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在用vue设置表单数据时发现了一个小问题:用vue动态渲染select下拉框时,select下拉框会出现空白的bug。

<template> <div> <select name="art-cate" v-model="select"> <option disabled selected style="display: block;">请选择您的科目</option> <option v-for="(item,index) in arr " :key="index" :value="item.name">{{item.name}}</option> </select> </div></template><script>export default { data() { return { arr: [{ name: '语文' }, { name: '数学' }, { name: '英语' }], select:'' } }</script>

Bug如下:

明明有一个selected的option选项,为什么会是一片空白呢?其实原因很简单,就一句话:<select>的v-model变量是空的。

这句话一出可能很多人都恍然大悟了,v-model指令是双向数据流动,vue变量没有值,那么select框当然也是空白的喽。 

可是另一个问题来了,为什么其他的表单不会这样呢?

单选框、多选框和输入框虽然默认都是没有值的,但是它们没有值也不会影响它们的表现形式,因为它们本来就可以是空白的,只有 <select> 标签不行,必须要有一个值才可以。所以我们可能会忽略这点,忘了给 v-model 绑定的变量赋值,结果就是select标签是一片空白。

解决方法很简单:就是把v-model绑定的变量赋值即可。

select:'请选择您的科目' // select是 <select>标签 双向绑定的变量(详解)Vue设置select下拉框的默认选项(解决select空白的bug)(vue0)

到此为止,好像事件已经结束了,bug已经没有了,然鹅还有一个小问题:

当你输入完全正确的字符串时,select当然一切正常,然而如果你输入的是一些乱七八糟的字符时,select仍然是一片空白。

select:'乱七八糟的sdsdf'

效果图:

这是因为select绑定的vue变量必须和option中的value值绝对对应,否则就不会显示option的文本元素。

那为什么输入 "请选择您的科目" 就能显示出来呢?我明明没有给这个option指定value值啊,

原因是:select的某个option标签在没有指定value值时,option默认会把标签内的文本内容当做自己的value值。

所以我们输入的看似是 "请选择您的科目" ,实际上输入的是 第一个option的value值,所以select标签就显示出来第一个option的文本内容啦。

这也会引出这个bug的另一个触发方式:当我们从后端接收到的value值为undefined时,我们将其渲染到select标签上,也会引发<select>标签显示空白的bug,因为没有哪个option的value值是undefined的。

但同时,我们也可以利用这个特性,手动的把第一个option的值设置为空,那么即使vue变量没有设置初识值,那么也会显示出来第一个option的文本内容。

<option value="">请选择您的科目</option>

此时即使与<select>绑定的变量为 ' ' ,也能显示出来这个option的文本内容了。

至此,有关于vue和select空白的bug就讲解完毕咯,总结如下:

之所以用v-model绑定的<select>标签显示空白,是因为vue变量 没有指定默认值;其他表单元素不需要指定变量的默认值,是因为它们本来就可以是空白的。解决方法有二:一、设置变量的默认值  二、设置默认的option的value值为空字符串   当我们给vue变量一个指定的默认值,但该值无法和任何option的value值对应时,<select>标签仍然会显示一片空白,与<select>绑定的变量的值,必须要为某个option的value值才行!因为只有这样,<select>标签才能显示出option的文本内容。没有指定value值的option,其文本内容会自动成为这个option的value值。

上面的东西希望对你有所帮助,我的绊脚石专栏中还有一些前端方面的小坑,前端的知识琐碎细小,然而编程容不得半点马虎,有时候我们不小心掉进去,钻上牛角尖能耗费大半天的时间,初学前端的小白可以多来我的专栏中看看哦,防止掉坑,以便能在通向前端大神的路上风驰电掣、疾行飞奔。

本文链接地址:https://www.jiuchutong.com/zhishi/297500.html 转载请保留说明!

上一篇:93.transformer、多头注意力以及代码实现

下一篇:为什么那么多人转行编程都首选Java(为什么那么多人考公务员)

  • shellexecutehooks如何创建正确的(shellexecutehooks)

    shellexecutehooks如何创建正确的(shellexecutehooks)

  • oppo手机怎么发短信(oppo手机怎么发朋友圈不带图片)

    oppo手机怎么发短信(oppo手机怎么发朋友圈不带图片)

  • realme gt neo2怎么打开悬浮球(realme GT Neo2怎么样)

    realme gt neo2怎么打开悬浮球(realme GT Neo2怎么样)

  • vivo的滚动字幕如何设置(vivo滚动字幕怎么弄)

    vivo的滚动字幕如何设置(vivo滚动字幕怎么弄)

  • 快手小店买东西为什么没有待发货的记录(快手小店买东西怎么查物流信息)

    快手小店买东西为什么没有待发货的记录(快手小店买东西怎么查物流信息)

  • 怎么看是单方面删除还是互删(怎么认定单方事故)

    怎么看是单方面删除还是互删(怎么认定单方事故)

  • 剪映怎么涂鸦视频(剪映怎么涂鸦视频教程)

    剪映怎么涂鸦视频(剪映怎么涂鸦视频教程)

  • 阿里巴巴怎样解除淘宝账户(阿里巴巴怎样解除银行卡)

    阿里巴巴怎样解除淘宝账户(阿里巴巴怎样解除银行卡)

  • 淘宝五星好评忘记截图怎么找回(淘宝五星好评忘记截图怎么找回 视频)

    淘宝五星好评忘记截图怎么找回(淘宝五星好评忘记截图怎么找回 视频)

  • 技嘉主板保修几年(技嘉主板保修多长时间)

    技嘉主板保修几年(技嘉主板保修多长时间)

  • 更换固态硬盘需要重新装系统吗(更换固态硬盘需要格式化吗)

    更换固态硬盘需要重新装系统吗(更换固态硬盘需要格式化吗)

  • 更换实名认证微信会注销么(更换实名认证微信怎么办)

    更换实名认证微信会注销么(更换实名认证微信怎么办)

  • 计算机使用二进制的优点(计算机使用二进制的优势是)

    计算机使用二进制的优点(计算机使用二进制的优势是)

  • 如何把电脑恢复出厂设置(如何把电脑恢复到原来的系统)

    如何把电脑恢复出厂设置(如何把电脑恢复到原来的系统)

  • iphone11pro max支持双卡吗(iphone11promax支持20w快充吗)

    iphone11pro max支持双卡吗(iphone11promax支持20w快充吗)

  • 三线表格怎么设置(三线表格怎么设置上下边框线1.5磅)

    三线表格怎么设置(三线表格怎么设置上下边框线1.5磅)

  • 小米5分屏功能怎么用(小米5分屏功能在哪里)

    小米5分屏功能怎么用(小米5分屏功能在哪里)

  • 怎样注销趣步账号(怎样注销趣步账号手机)

    怎样注销趣步账号(怎样注销趣步账号手机)

  • word怎么生成二维码(word文档生成二维码)

    word怎么生成二维码(word文档生成二维码)

  • vivoy66耗电快解决方案(vivoy66耗电量快怎么办)

    vivoy66耗电快解决方案(vivoy66耗电量快怎么办)

  • z87主板配什么cpu(z87主板配什么cpu e3)

    z87主板配什么cpu(z87主板配什么cpu e3)

  • 怎么把内存移到sd卡(怎么把内存移到sd卡红米)

    怎么把内存移到sd卡(怎么把内存移到sd卡红米)

  • 服装app开发有哪些价值(服装开发软件)

    服装app开发有哪些价值(服装开发软件)

  • 个人所得税年终奖单独计税怎么操作
  • 合伙企业如何纳入合并报表
  • 企业纳税证明是什么
  • 零税率和免税一样吗?哪一个更优惠?
  • 海关缴款书有效期多久
  • 企业发生劳动仲裁还可以进行融资吗
  • 哪些车辆可退还车款
  • 一般纳税人取得3%专票可以抵扣吗
  • 提取资本公积会计凭证
  • 上年度没有计提企业所得税
  • 固定资产贷款利率
  • 租赁植物费用
  • 税后扣税
  • 员工销售家具取得的工资怎么写分录?
  • 金融机构对服务的要求
  • 增值税发票价税合计是什么意思
  • 房产税税计入什么科目
  • 增值税税额转出申报怎么填写
  • 外资生产企业出口销售会计处理
  • 冲失业保险分录怎么做
  • 是否所有电池产品都需在进口环节缴纳消费税?
  • 营改增服务业税负下降
  • 会计中坏账准备的借贷方向
  • 库存商品入库的会计科目
  • uefi模式怎么装机
  • win7系统中回收站的内容清空后还能恢复吗
  • 公司注销退回投资款如何账务处理
  • 品牌使用费分录
  • 代收代缴水电费商家不缴可以停电吗
  • 为什么说人与人的悲欢不相通
  • 单位卖二手车需交税吗
  • schedulerv2.exe - schedulerv2是什么进程 有什么用
  • PHP:iterator_apply()的用法_spl函数
  • 发票开出后只收到部分款怎么处理?
  • php制作验证码
  • php读取excel内容
  • 本月职工工资
  • 小规模减免的附件有哪些
  • 6款好用的ppt制作软件推荐
  • 招待费超出部分的分录
  • 补收入账是什么意思
  • mongodb好用吗
  • 蔬菜开发票到哪里开呢?
  • sql server 2008使用教程
  • 企业固定资产如何查询
  • 专项资金如何进行管理
  • 退货占销售比
  • 稳岗补贴支付范围
  • 应该是先付款还是先开发票
  • 库存商品暂估入库科目怎么做
  • 企业被列入经营异常名录可以注销吗
  • 异地建筑服务开全电发票
  • 预缴所得税会计分录怎么做东奥
  • 小规模公司购买成本票严重吗
  • 公司账户收入金额有规定吗
  • 赠送客户的商品怎么入账
  • 怎样才能制作出白瓷
  • 出纳账户怎么设置
  • sql替换快捷键
  • xp复制粘贴功能失效
  • Mac系统怎么设置ftp
  • winxp关机立马自动重启
  • window10重启按什么键
  • win102h20
  • 放大镜windows快捷键
  • windows8窗口
  • 贪心算法编程题
  • 安卓安装两个不同版本软件
  • shell 递归
  • pycharm官方教程
  • javascript函数自调用
  • jquery给table赋值
  • js如何打印服务器图片
  • javascript零基础入门书籍
  • android系统设置
  • java script js
  • 安卓启动器修改
  • 宁波镇海哪里可以赶海
  • 税务数字证书怎么下载安装
  • 杭州 国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设