Vue.js 表单控件操作小结


Posted in Javascript onMarch 29, 2018

概念说明

v-model指令:在表单控件元素上创建双向数据绑定。v-model 会根据控件类型自动选取正确的方法来更新元素。

Vue.js 表单控件操作小结

输入框

实例中演示了 input 和 textarea 元素中使用 v-model 实现双向数据绑定:

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
 <p>input 元素:</p>
 <input v-model="message" placeholder="编辑我……">
 <p>消息是: {{ message }}</p>
 <p>textarea 元素:</p>
 <p style="white-space: pre">{{ message2 }}</p>
 <textarea v-model="message2" placeholder="多行文本输入……"></textarea>
</div>
<script>
new Vue({
 el: '#app',
 data: {
 message: 'Runoob',
 message2: '菜鸟教程\r\nhttp://www.runoob.com'
 }
})
</script>
</body>
</html>

效果如图:

Vue.js 表单控件操作小结

复选框

复选框如果是单个为逻辑值,如果是多个则绑定到同一个数组:

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
 <p>单个复选框:</p>
 <input type="checkbox" id="checkbox" v-model="checked">
 <label for="checkbox">{{ checked }}</label>
 <p>多个复选框:</p>
 <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">
 <label for="runoob">Runoob</label>
 <input type="checkbox" id="google" value="Google" v-model="checkedNames">
 <label for="google">Google</label>
 <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
 <label for="taobao">taobao</label>
 <br>
 <span>选择的值为: {{ checkedNames }}</span>
</div>
<script>
new Vue({
 el: '#app',
 data: {
 checked : false,
 checkedNames: []
 }
})
</script>
</body>
</html>

效果如图:

Vue.js 表单控件操作小结

单选按钮

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
 <input type="radio" id="runoob" value="Runoob" v-model="picked">
 <label for="runoob">Runoob</label>
 <br>
 <input type="radio" id="google" value="Google" v-model="picked">
 <label for="google">Google</label>
 <br>
 <span>选中值为: {{ picked }}</span>
</div>
<script>
new Vue({
 el: '#app',
 data: {
 picked : 'Runoob'
 }
})
</script>
</body>
</html>

效果如图:

Vue.js 表单控件操作小结

下拉列表

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
 <select v-model="selected" name="fruit">
 <option value="">选择一个网站</option>
 <option value="www.runoob.com">Runoob</option>
 <option value="www.google.com">Google</option>
 </select>
 <div id="output">
 选择的网站是: {{selected}}
 </div>
</div>
<script>
new Vue({
 el: '#app',
 data: {
 selected: '' 
 }
})
</script>
</body>
</html>

效果如图:

Vue.js 表单控件操作小结

修饰符

.lazy

在默认情况下, v-model 在 input 事件中同步输入框的值与数据,但你可以添加一个修饰符 lazy ,从而转变为在 change 事件中同步:

<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >

.number

如果想自动将用户的输入值转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值:

<input v-model.number="age" type="number">

这通常很有用,因为在 type="number" 时 HTML 中输入的值也总是会返回字符串类型。
.trim

如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:

<input v-model.trim="msg">

总结

以上所述是小编给大家介绍的Vue.js 表单控件操作小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
JS中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
May 07 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
javascript页面渲染速度测试脚本分享
Apr 15 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
js传递数组参数到后台controller的方法
Mar 29 #Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 #Javascript
Vue项目中如何引入icon图标
Mar 28 #Javascript
JavaScript中的E-mail 地址格式验证
Mar 28 #Javascript
javascript性能优化之分时函数的介绍
Mar 28 #Javascript
Vue数据监听方法watch的使用
Mar 28 #Javascript
Vue 自定义动态组件实例详解
Mar 28 #Javascript
You might like
php缓存技术介绍
2006/11/25 PHP
PHP面向对象分析设计的经验原则
2008/09/20 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python中字典映射类型的学习教程
2015/08/20 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
python保存文件方法小结
2018/07/27 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python实现共轭梯度法
2019/07/03 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
Python 防止死锁的方法
2020/07/29 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
我的梦想演讲稿500字
2014/08/21 职场文书
家长评语怎么写
2014/12/30 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL