![Vue.js从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/987/44509987/b_44509987.jpg)
上QQ阅读APP看书,第一时间看更新
5.1.4 表单控件绑定
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P85_11334.jpg?sign=1739656950-qu3uNmDeCg3eNwHKrq2VpJhKriVlPeFD-0-63b553a796b11ce2fa76a6ddfd0decd8)
在前端Web应用中,经常会使用表单向服务端提交一些数据,而通常也会在表单项中绑定一些(如input、change等)事件对用户输入的数据进行校验、更新等操作。在Vue.js中可以使用v-model指令同步用户输入的数据到Vue实例的data属性中,同时会对text、radio、checkbox、select等原生表单组件提供一些语法支持,以使表单操作更加容易。下面将通过示例来看看如何使用v-model更新表单组件(在双向绑定中简单介绍过,这里进行详细说明)。
1.text
text:设置文本框v-model为message。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P86_53212.jpg?sign=1739656950-6EuXU23ei5yrjTFK626rUUZN3oDwV8Ka-0-79ba8dbcdaf3ba0c03d48c34cb0e10f7)
运行的效果如图5-5所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P86_11501.jpg?sign=1739656950-dwUZBNBRyubNEsCEYcNkobKWEopFla0M-0-c9d91e0ad72a652c1af9b4dd0b781b0d)
图5-5 text文本运行效果图
提示:当用户操作文本框时,vm.message会自动更新为用户输入的值,同时文本框中的内容也会随着改变。
2.checkbox
checkbox:复选框checkbox在表单中会经常使用。下面我们来看看单个checkbox如何使用v-model。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P87_53214.jpg?sign=1739656950-0PDrhRTvqIJVTnhpNYdrv2GRr1we8uNl-0-cb1accbb4b87c6780a30694df334290b)
运行的效果如图5-6所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P87_11736.jpg?sign=1739656950-kgfgPNbWrQSZ0cziI7NPaIEqnqSFyXaB-0-d2ec676bbb4e28ff447bf96b1c452d75)
图5-6 checkbox文本运行效果图
提示:当用户勾选了复选框后,vm.checked=true(否则,vm.checked=false),label中的值也会随着改变。
3.radio
radio:当单选按钮被选中时,v-model中的变量值会被赋值为对应的value值。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_53218.jpg?sign=1739656950-R2BBxYOVpN1t6vcT0CQX53E91BqToIKS-0-65a153c1cb8c2b3ba02a4ace8c82b577)
运行的效果如图5-7所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_11917.jpg?sign=1739656950-w2jHQOtO6FrUIVilpgUAif73q6Cnfkzg-0-c2a3a9ee3f82313bc896f3f5c9d0c173)
图5-7 radio文本运行效果图
4.select
select:因为select控件分为单选和多选,所以v-model在select控件的单选和多选上会有不同的表现。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_53219.jpg?sign=1739656950-CaoF8LDZJZmKKGvWSUnb6dImWoXxr8Cg-0-2dd2ebabd8109337d033cd48a433806b)
运行的效果如图5-8所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P89_53221.jpg?sign=1739656950-CBo6JDEbIlQtSKv5wQ5wZvLnkLJLaYDF-0-34c447cf545beb0da179395881bfb2d1)
图5-8 select文本运行效果图
提示:当被选中的option有value属性时,vm.selected为对应option的value值,否则为对应的text值。