vue.js实现单选框、复选框和下拉框示例
Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势。下边以单选框、复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式。
一、单选框
在传统的HTML中实现单选框的方法如下
<div id="app"> <input type="radio" name="gender" value="man" id="man"/><label for="man">男</label> <input type="radio" name="gender" value="woman" id="women"/><label for="women">女</label> </div>
注这里name属性值必须相同,以确保同一时间只有一个能被选中。用于识别发送至服务器的数据;value值也很重要,当按钮被选中时,该值将发送给服务器;
用vue.js实现单选框比较方便,举例如下。我们不再需要name属性,只需要使用v-model指令给每个选项绑定同一个变量就可以确保同一时间只有一个被选中,value属性还是需要的,表示选中时的值。
<div id="app"> <label>男<input type="radio" v-model="gender" value="man"/></label> <label>女<input type="radio" v-model="gender" value="woman"/></label> <p>已选{{gender}}</p><!--如果用原生js实现此功能比较麻烦--> </div> <script> var app=new Vue({ el:'#app', data:{ gender:'' } }); </script>
二、复选框
在传统的HTML中实现复选框代码如下
<div id="app"> <input type="checkbox" name="whom" value="jack" id="Jack"/><label for="Jack">jack</label> <input type="checkbox" name="whom" value="bob" id="Bob"/><label for="Bob">bob</label> <input type="checkbox" name="whom" value="alice" id="Alice"/><label for="Alice">alice</label> </div>
从以上代码可以看到HTML中单选框和复选框的构造方法类似,只是type值变成checkbox,也用name和value表征一个复选框以及选中情况。
在vue.js中构造复选框也与单选框类似,只是每个选项框都用v-model绑定一个变量,这些变量一般放在一个对象中,或者为v-model绑定一个相同的属性名称,且属性为数组;针对这两种情况的举例如下
使用v-model为每个选项框绑定一个变量
<div id="app"> <label>jack<input type="checkbox" v-model="person.jack"/></label> <label>bob<input type="checkbox" v-model="person.bob"/></label> <label>alice <input type="checkbox" v-model="person.alice"/></label> <p>已选{{person}}</p> </div> <script> var app = new Vue({ el: '#app', data: { person: {jack: false, bob: false, alice: false} } }) </script>
从以上代码可以看到这里已经不需要value属性,为每个属性绑定的值是boolean类型的,当选中时该值变为true,没选中为false;
给v-model绑定一个相同的数组类型的属性
<div id="app"> <label>jack<input type="checkbox" v-model="whom" value="jack"/></label> <label>bob<input type="checkbox" v-model="whom" value="bob"/></label> <label>alice <input type="checkbox" v-model="whom" value="alice"/></label> <p>已选{{whom.join('|')}}</p> </div> <script> var app = new Vue({ el: '#app', data: { whom: [] } }) </script>
从代码中可以看到为每个选项都绑定一个相同的数组名称,这里需要value属性,当被选中时,相应的value值会加入到数组中,取消选中时,删除数组中对应的value值。
三、下拉框
传统的用HTML构造下拉框的代码如下
<select name="selected"> <option value="a">A</option> <option value="b">B</option> <option value="c">C</option> </select>
其中name用于发送给服务器时的数据识别,value为选中时发送给服务器的值。如果option中省略value,那么发送给服务器的值为option标签之间的值。
用vue2.0实现下拉框的方法如下
<div id="app"> <select v-model="selected"> <option v-for="item in items" v-bind:value="item.value">{{item.text}}</option> </select> <span>已选:{{selected}}</span> </div> <script src="vue.js"></script> <script> new Vue({ el:'#app', data:{ items:[{text:'A',value:'a'},{text:'B',value:'b'},{text:'C',value:'c'}], selected:'' } }); </script>
从代码中可以看到,使用v-for指令,避免重复书写option标签,用v-bind指令绑定value属性。当选中某一项时,该选项的value值赋给selected变量。
不管是html书写,还是vue实现,如果需要实现多选下拉框,只需要在select标签中写入multiple属性(vue中,selected变量初始化为一个空数组)。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程