博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue.js---表单标签中的单选按钮、复选按钮和下拉列表的取值问题
阅读量:6084 次
发布时间:2019-06-20

本文共 2090 字,大约阅读时间需要 6 分钟。

hot3.png

    表单标签取值问题中,单选按钮、复选按钮和下拉列表都比较特殊。这里总结一下vue.js中关于单选按钮、复选按钮和下拉列表不同情况的取值特殊性问题。

一、单选按钮

    单选按钮:单选按钮用 v-model 绑定填值属性用来表示checked,用于判断是否选中

    当单选按钮没写value值时,在 vue.js 中将值赋为null

    在普通标签中,当没写name时,html 会默认将没写name 的单选按钮分为一组;

    在vue中,即使没写name,只要单选按钮v-model绑定了同一个变量(如:gender),这些按钮也会被分为一组。但是习惯上,我们还是也写上name。

    在data中定义的变量gender的值将影响到单选按钮的默认选项,如: 本例子中gender:"女",默认选择女。

    js部分代码:

window.onload = function (){  new Vue({    el:"#app",    data:{      gender:"女"    }  });}

    html部分代码:

  

二、复选按钮

    复选按钮:单选按钮用 v-model 绑定填值属性用来表示checked,用于判断是否选中

    当多选按钮没写value值时,在 vue.js 中将值赋为null

    vue.js对于复选按钮如何取值取决于 v-model 绑定的变量的类型。

1、基本类型

    初始化时,v-model 绑定的是任意的基本类型(Number、String、Boolean、Null、Undefined),取值时会默认转为Boolean类型,true时表示选中,false表示未选中。

js段代码:

window.onload = function (){  new Vue({    el:"#app",    data:{      hobbies01:"",      hobbies02:"...",      hobbies03:false    }  });}

html段代码:

  

效果截图:

                    

    初始化时,hobbies01值为空字符串转化为Boolean类型时false,所以未选中;hobbies02值为字符串“....”,转化为Boolean类型是true,所以默认选中;hobbies03默认值是false,所以初始化时未选中。

    此后,每次点击多选按钮,hobbies01、hobbies02、hobbies03的值都是 true | false 变化

2、数组

    初始化时,v-model 绑定的变量是数组类型时。vue 认为这个复选按钮是用于获取值,会以选择(鼠标点击)的顺序将对应的值写入到数组中。

js代码段:

window.onload = function (){  new Vue({    el:"#app",    data:{      hobbies:[]    }  });}

html代码段:

  

效果截图:

    初始化时 hobbies 是一个空数组。注意鼠标点击顺序和 hobbies 值的对应变化。

                    

三、下拉列表

    下拉列表:下拉列表中 v-model 写在下拉列表的标签中 <select>标签中。

    根据指定值选择对应<option> 添加选中状态。

    option 没有value属性 以 option 正反标签中的值 作为value。

3.1 下拉列表

js代码段:

window.onload = function (){  new Vue({    el:"#app",    data:{      s:""    }  });}

html代码段:

  

结果分析:

    因为变量 s 的初始值是空字符串,所以默认选择 “请选择选项”(可以根据s的初识值改变默认选项)。当选择其他option时,s 的值会随之改变(字符串:"s1"/"s2"/"s3")。

3.2 未写value值

    当未写 value 时, s 的值会变成 “小学”/“中学”/“大学”。

3.3 多选下拉列表

    multiple关键字,按住 ctrl 键进行多选。注意此时 model 绑定的变量应该是数组。

 

至此,完毕。感谢您的阅读。

不积跬步,无以至千里;不积细流,无以成江海。

转载于:https://my.oschina.net/u/3563169/blog/1576423

你可能感兴趣的文章
python 学习笔记 1 for循环中常用的函数
查看>>
7-Java面向对象-多态
查看>>
Zookeeper可以干什么?
查看>>
短视频APP平台怎么开发?不得不了解的短视频源码功能机制后篇
查看>>
常用RGB色值表
查看>>
Google Play 发现恶意应用,窃取用户数字货币
查看>>
极简风Js时钟
查看>>
用js来实现那些数据结构14(树02-AVL树)
查看>>
C# 复制一个Word文档的部分或全部内容到另一个Word文档
查看>>
7-Zip 19.00 正式版发布,修正 Win10 1809(17763) 可能无法正常使用大内存页
查看>>
Gartner:中国企业追求AI实战性 云厂商正引领这一方向
查看>>
Web前端单元测试到底要怎么写?看这一篇就够了
查看>>
基于PostGIS的高级应用(2)--线数据的汇总分析
查看>>
跟着小程一起聊聊GIT那点事
查看>>
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
好看的皮囊 · 也是大自然的杰作 · 全球高质量 · 美图 · 集中营 · 美女 · 2017-08-22期...
查看>>
【Java疑难杂症】有return的情况下try catch finally的执行顺序
查看>>
求算符文法的FIRSTVT集的算法
查看>>
一个诡异的取平方函数
查看>>
最近困扰我的问题, 关于写动画
查看>>