![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=1738900965-C0kDF4EoxYfZtUaVDwhrqoVpwJsKJCk9-0-8b57a2df021a5b26ca1f5131a06d3d9b)
在前端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=1738900965-fzuPyvPICZHMp6QcEDegAE4USh1W5Ums-0-c31245f386c5f7ddb61f4415225d0419)
运行的效果如图5-5所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P86_11501.jpg?sign=1738900965-UOeACUDFDlH6hMD3yyLDcbpOrdeLRhgC-0-48e420dc5032bf3aaa70154a54ddde18)
图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=1738900965-QTOOF3JrlrNwpy3iCSqCc45OniNvCzYM-0-1a9941bd0926dea20e9a0cc4944eaff0)
运行的效果如图5-6所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P87_11736.jpg?sign=1738900965-DY1AO6jL4YMGjyvT0EwNZ1wT1iHEebq3-0-806670cf6e8aef1e2352e9a9104e45ea)
图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=1738900965-ZCtinwW3Qsbpiz2zwo826eudrQXGbwjO-0-c6a91719a6c872124bfd8226889ac8a7)
运行的效果如图5-7所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_11917.jpg?sign=1738900965-kT1hKD2FnWcqXM1YleVHh7Maj6JaxhKn-0-92ae0b47a908a3c064789a909336c619)
图5-7 radio文本运行效果图
4.select
select:因为select控件分为单选和多选,所以v-model在select控件的单选和多选上会有不同的表现。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P88_53219.jpg?sign=1738900965-af27tjLyYwIol4zgOzfKWtn54nH9Tnn3-0-68e0fb6e201f6c78d515743d946c9003)
运行的效果如图5-8所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P89_53221.jpg?sign=1738900965-UkXdP5oQe2t3OAPlaDxOeH5oTLnggECL-0-431188cc065d01ca34f1c7f8ff5e1b6f)
图5-8 select文本运行效果图
提示:当被选中的option有value属性时,vm.selected为对应option的value值,否则为对应的text值。