位置: 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(为什么那么多人考公务员)

  • 如何去做好用户运营(如何做好客户服务)

    如何去做好用户运营(如何做好客户服务)

  • 腾讯会议可以换背景吗(腾讯会议可以换背景图吗)

    腾讯会议可以换背景吗(腾讯会议可以换背景图吗)

  • 苹果手机访问受限制怎么解开(苹果手机访问受限怎么解决)

    苹果手机访问受限制怎么解开(苹果手机访问受限怎么解决)

  • 闲鱼卖家怎么设置支持信用卡付款(闲鱼卖家怎么设置延期发货)

    闲鱼卖家怎么设置支持信用卡付款(闲鱼卖家怎么设置延期发货)

  • 抖音里的回关指什么(抖音中的回关)

    抖音里的回关指什么(抖音中的回关)

  • 怎样使手机强烈震动(如何让手机强烈振动)

    怎样使手机强烈震动(如何让手机强烈振动)

  • 华为p20pro怎么隐藏应用(华为p20pro怎么隐藏应用软件)

    华为p20pro怎么隐藏应用(华为p20pro怎么隐藏应用软件)

  • 电脑桌面字体颜色怎么改(电脑桌面字体颜色太浅)

    电脑桌面字体颜色怎么改(电脑桌面字体颜色太浅)

  • qq里的星星月亮太阳代表什么(qq里的星星月亮太阳咋变多)

    qq里的星星月亮太阳代表什么(qq里的星星月亮太阳咋变多)

  • 华为trt一al00a属于什么系列(华为trt-al00a参数配置)

    华为trt一al00a属于什么系列(华为trt-al00a参数配置)

  • 怎样查微信聊天记录(怎样查微信聊天记录日期)

    怎样查微信聊天记录(怎样查微信聊天记录日期)

  • 为什么微信授权失败(为什么微信授权会出现个陌生的微信号)

    为什么微信授权失败(为什么微信授权会出现个陌生的微信号)

  • qq背景变黑色,怎么调过来(qq背景变成黑色了怎么调回白色呢)

    qq背景变黑色,怎么调过来(qq背景变成黑色了怎么调回白色呢)

  • 电脑电源保护无法开机怎么办(电脑电源保护无法开机)

    电脑电源保护无法开机怎么办(电脑电源保护无法开机)

  • 雷神笔记本键盘灯设置(雷神笔记本键盘灯怎么关)

    雷神笔记本键盘灯设置(雷神笔记本键盘灯怎么关)

  • 怎么删闲鱼买卖评论(闲鱼怎么删除卖出)

    怎么删闲鱼买卖评论(闲鱼怎么删除卖出)

  • 滴滴出行怎么打发票(滴滴出行怎么打豪车)

    滴滴出行怎么打发票(滴滴出行怎么打豪车)

  • 手机上怎么看世界杯(手机上怎么看世界杯比赛)

    手机上怎么看世界杯(手机上怎么看世界杯比赛)

  • 苹果xr是什么系列(苹果xr是什么系列手机)

    苹果xr是什么系列(苹果xr是什么系列手机)

  • 红米note7pro无故黑屏的原因(红米note7pro无限重启不开机)

    红米note7pro无故黑屏的原因(红米note7pro无限重启不开机)

  • 怎么给笔记本电脑加内存条(怎么给笔记本电脑清灰)

    怎么给笔记本电脑加内存条(怎么给笔记本电脑清灰)

  • 三层交换机和路由器怎么连(三层交换机和路由器用什么线)

    三层交换机和路由器怎么连(三层交换机和路由器用什么线)

  • 呼叫失败是不是拉黑了(呼叫失败是不是黑名单)

    呼叫失败是不是拉黑了(呼叫失败是不是黑名单)

  • LVGL V8应用——通过按键切换页面(lvgl使用)

    LVGL V8应用——通过按键切换页面(lvgl使用)

  • head命令  显示文件开头的内容(head命令中表示输出文件前5行的参数是)

    head命令 显示文件开头的内容(head命令中表示输出文件前5行的参数是)

  • DEDECMS5.7修改前台ckeditor编辑器为fck编辑器,后台仍然保持ckeditor的方法(dedecms配置)

    DEDECMS5.7修改前台ckeditor编辑器为fck编辑器,后台仍然保持ckeditor的方法(dedecms配置)

  • 报销单与发票金额不符
  • 企业销售不动产增值税政策
  • 单张发票金额有多少
  • 租车纳税
  • 货币性短期薪酬影响损益的金额
  • 收到科技局的补贴短信
  • 工程款先开票
  • 所得税汇算清缴分录怎么做
  • 电视台广告费可以抵扣吗
  • 三证合一后还要去税务局吗
  • 农产品增值税免税政策
  • 增值税的专用发票金额含税吗
  • 审计调账后企业怎么处理
  • 以前年度进项税少记了如何调整
  • 年度终了,会计部门都要将旧账编造清册
  • 支付外汇代扣代缴增值税
  • 返利冲减销售收入还是进费用
  • 公司注销注销顺序
  • 公司分期付款购车账务处理
  • 高新技术研发的会议有哪些
  • 借条复印件可以起诉吗还有转账记录
  • 桌面右键个性化没有关联的程序
  • 上月开的发票会计漏做帐,本月应如何补做账?
  • 备用金怎么填写记账凭证
  • 怎样做好固定资产管理工作
  • 持有至到期投资在资产负债表怎么填
  • 收到进项税发票如何入账
  • 马拉喀什的历史背景
  • zend framework手册
  • 加计扣除账务处理
  • 一般纳税人向小规模纳税人开专票
  • php自动载入自定义函数文件
  • 老税号的发票还能认证吗
  • yolov5源码讲解
  • Windows 10 python 3.9安装运行Mockingbird--拎包入住功略
  • php 后期静态绑定
  • Yii2中DropDownList简单用法示例
  • 冲减预提成本分录
  • 房地产停车场属于公共配套设施吗
  • 物流发票的税率怎么算
  • 如何利用口诀记住那字
  • 长期挂账的其他应付款税务风险
  • sqlserver数据库锁表如何解锁
  • nginx防盗链的作用
  • virtono搭建教程
  • 消耗品属于哪个会计科目
  • 社保公司承担部分怎么做账
  • mysql 网页用户界面
  • mysql创建和删除数据库
  • 固定资产加速折旧是什么意思
  • 货款已退回货已收到怎么办
  • 摊余成本有什么用
  • 购买电脑一次性计入费用吗合理吗
  • 餐费开增值税专用发票
  • 普通进项发票怎么做分录
  • 支付返利计入什么科目
  • 在记账过程中,可能发生各种各样的差错
  • 工程量应当按照什么计算
  • 现金日记账谁负责
  • 留抵税额和待抵扣进项税额区别
  • 客户要扣货款太多怎么处理
  • 总公司中标走子公司账户违法吗
  • 利用pt-heartbeat监控MySQL的复制延迟详解
  • win10怎么设置pdf默认打开方式是wps
  • linux pptp客户端
  • hl.exe是什么
  • 电脑硬件用途
  • 如何关闭windows8的密码
  • boot process
  • winxp中网桥Bridge功能概述及配置注意事项
  • win7怎么自启动程序
  • linux快速查看目录大小
  • win10老是自动重启是什么原因
  • 一周总结家长寄语
  • android判断横竖屏
  • css放大字体
  • linux bzip2压缩目录
  • js判断鼠标位置是否在元素区域内使用
  • jquery属性选择器的基本
  • 手游炫酷
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设