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

  • 微信举报双封是什么意思(微信举报双封是什么)

    微信举报双封是什么意思(微信举报双封是什么)

  • 苹果11刷机后还能定位吗(苹果11刷机后还能找到吗)

    苹果11刷机后还能定位吗(苹果11刷机后还能找到吗)

  • 电脑显示americanmegatrends什么意思(电脑显示american开不了机)

    电脑显示americanmegatrends什么意思(电脑显示american开不了机)

  • 微信保号什么意思(微信保号是什么)

    微信保号什么意思(微信保号是什么)

  • 拨号码时显示虚拟运营商什么意思(手机号码拨出去怎么显示虚拟号码)

    拨号码时显示虚拟运营商什么意思(手机号码拨出去怎么显示虚拟号码)

  • 支付宝应用加密怎么解除(支付宝应用加密怎么解除设置中没有安全这一栏怎么办)

    支付宝应用加密怎么解除(支付宝应用加密怎么解除设置中没有安全这一栏怎么办)

  • b站免流量包怎么退订(b站免流量包怎么开启)

    b站免流量包怎么退订(b站免流量包怎么开启)

  • iqoopro5g屏幕刷新率(iqoo5pro屏幕刷新率)

    iqoopro5g屏幕刷新率(iqoo5pro屏幕刷新率)

  • 手机电源键是什么(手机电源键是哪个键,长什么样)

    手机电源键是什么(手机电源键是哪个键,长什么样)

  • 手机好多压缩包能不能删了(手机里一堆压缩包)

    手机好多压缩包能不能删了(手机里一堆压缩包)

  • windows的桌面是指什么(windows的桌面是一个文件夹)

    windows的桌面是指什么(windows的桌面是一个文件夹)

  • m1903f10a是啥型号(m1902f1c什么型号)

    m1903f10a是啥型号(m1902f1c什么型号)

  • 软件开发一般有几个阶段(软件开发一般有哪几个阶段)

    软件开发一般有几个阶段(软件开发一般有哪几个阶段)

  • 手机打开数据连接后依然无法上网(手机打开数据连接没反应)

    手机打开数据连接后依然无法上网(手机打开数据连接没反应)

  • 怎么限制别人登录我的淘宝(怎么限制别人登录自己的微信)

    怎么限制别人登录我的淘宝(怎么限制别人登录自己的微信)

  • 手机如何转换网络类型(手机怎样使用网线转换器上网)

    手机如何转换网络类型(手机怎样使用网线转换器上网)

  • 如何查看被销毁的闪照(如何查看被销毁的文件)

    如何查看被销毁的闪照(如何查看被销毁的文件)

  • airpods2外观区别(airpods2外观细节图)

    airpods2外观区别(airpods2外观细节图)

  • 魅族16如何分享网络(魅族16怎么互传)

    魅族16如何分享网络(魅族16怎么互传)

  • 在vue3+vite项目下按需引入vant报错Failed to resolve import解决方案(vue3 provide inject)

    在vue3+vite项目下按需引入vant报错Failed to resolve import解决方案(vue3 provide inject)

  • Windows11中的屏幕闪烁怎么办?Win11屏幕闪烁原因以及解决办法(window11调节屏幕亮度)

    Windows11中的屏幕闪烁怎么办?Win11屏幕闪烁原因以及解决办法(window11调节屏幕亮度)

  • Vue3 中 axios 的安装及使用(vue3+antd)

    Vue3 中 axios 的安装及使用(vue3+antd)

  • 农产品减免税政策最新
  • 税务ukey如何清卡
  • 投资控股型公司什么意思
  • 报关时电子口岸电子委托应该什么时候做
  • 13点专票和13点普票的区别
  • 留抵进项税额
  • 取得的进项发票当月不抵扣怎么做账
  • 税前可以扣除的有哪些费用
  • 固定资产成本包括包装费吗
  • 分公司如何缴纳企业所得税
  • 原材料的运输费怎么做会计分录
  • 非居民企业的征税范围
  • 金碟系统操作
  • 个人公司转让协议怎么写
  • 建筑劳务公司收到劳务费会计分录
  • 异地承包工程预缴什么税?
  • 普通发票计量单位没填
  • 税控盘怎么进行升级
  • 物业管理的差额怎么算
  • 水利工程建设费用组成
  • 发票和实际业务发生时间不一致
  • 研发费用加计扣除是什么意思啊
  • 业务招待费不超过销售收入的5‰
  • 出租房电费怎么结算
  • 在Linux系统中安装了一块虚拟磁盘大小的2G
  • 利用Windows Media将二进制文件转音频
  • 哪些情况需要补钙
  • 现代服务业包括哪些
  • 开发票原则是收款之后才能开具吗
  • 资本公积主要包括哪些内容
  • php图片拼接
  • php中??
  • uefi和legacy的区别对显卡兼容
  • 苹果推送最新系统
  • 大模型训练成本
  • 系统win7旗舰版
  • 不合规发票扣除多少
  • 会计如何建账做账
  • php gtk
  • 坏账损失的会计分录
  • 生产型企业出口退税退的是哪部分的税
  • 冰川国家公园在哪
  • 云计算技术是学什么的
  • 退回以前年度多交的附加税怎么做分录
  • 学长学姐面试要注意哪些细节
  • php购物车及订单思路
  • mkpart命令
  • 货款收不回来了怎么做账
  • 来料加工企业的划分标准
  • 耕地占用税如何计算
  • 税法上未投入使用的无形资产摊销所得税能扣除吗
  • 个体户能不能变更地址
  • 认缴制下实收资本如何证明
  • 外出经营必须办理外管证吗
  • 固定资产正常报废与非正常报废的会计处理基本相同
  • 利得和损失计入所有者权益的情况
  • 出口转内销补交进口增值税时间
  • 电子承兑汇票是24小时签收吗
  • 苗木税票怎么抵扣
  • 固定资产更换配件 资本化标准
  • 企业租入设备的会计分录怎么写
  • 环境保护税共享信息表
  • 寻找sql注入漏洞存在哪几个关键点
  • ubuntu2004分区教程
  • win7任务栏颜色怎么改成蓝色
  • VirtualBOX给CentOS建共享文件夹的方法
  • centos查询所有用户
  • windows常用操作
  • linux tracker
  • win8如何进行系统还原
  • linux 删除 用户
  • win10触屏操作
  • 使用灭火器人要站在上风口还是下风口
  • linux cpan
  • mysql批量建表脚本
  • java项目的命名规则
  • jquery的gt
  • 什么是解放思想?请阐述解放思想和实事求是之间的关系
  • 我国土地资源总量丰富人均不足
  • 北京市地方税务局在哪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设