![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=1739304117-E7FNXonoCFTfhBmVrMoQfRQ0qJOkYHdq-0-df44b42ca020413a02e27c4982b916a2)
在前端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=1739304117-HfWp7gmB6MgxfWO6FnXoZQGCTGLW6yko-0-d8098fafe726045faa8b1db9ef9a6d4d)
运行的效果如图5-5所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P86_11501.jpg?sign=1739304117-wuDlZ8ywMYcmPojqiJOLg7EEmpgm4MT4-0-bd36f246a8882c811808c55ead3bf3e6)
图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=1739304117-bTP2fKistanjviWWBJ9I8EbzJvc9jrMR-0-178b1c1d6a08ee018eafc9721fdb0ade)
运行的效果如图5-6所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P87_11736.jpg?sign=1739304117-tzbsU1wEbIU4k5D1SzxIuze3dvFPU0vn-0-dcbb4b53ce11c4696acea0528a0816e6)
图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=1739304117-etdu3yKuQWLoKVKoQ400tocWN6F9FqfD-0-c9ee52f72a25dd4e2640444e6aac73f7)
运行的效果如图5-7所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_11917.jpg?sign=1739304117-nxHCklmiiRM6zPm4hnairRoWXRqbc3HL-0-a122f2a3eba8a383068b8ee21f7ade9a)
图5-7 radio文本运行效果图
4.select
select:因为select控件分为单选和多选,所以v-model在select控件的单选和多选上会有不同的表现。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_53219.jpg?sign=1739304117-mlLB69nsaeTzrf1dgH12VAOUINT5fTNr-0-be72d53dd173054e1101e3d6fcc24257)
运行的效果如图5-8所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P89_53221.jpg?sign=1739304117-faHqAlbzAaEsiJAV6zQ9YdvMYxG3zyNG-0-5ee7eb5671db00e30ef37d6725bef012)
图5-8 select文本运行效果图
提示:当被选中的option有value属性时,vm.selected为对应option的value值,否则为对应的text值。