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 相关文章推荐
ajax请求get与post的区别总结
Nov 04 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
JavaScript实现带标题的图片轮播特效
May 20 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
May 31 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
深入了解JavaScript的逻辑运算符(与、或)
Dec 20 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
Dec 27 Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
详解PHP实现执行定时任务
2015/12/21 PHP
eclipse php wamp配置教程
2016/06/30 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
Python open()文件处理使用介绍
2014/11/30 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
sort命令的作用和用法
2013/08/25 面试题
机关道德讲堂实施方案
2014/03/15 职场文书
婚前协议书
2014/04/15 职场文书
会计毕业生自荐书
2014/06/12 职场文书
会计求职自荐信
2014/06/20 职场文书
六查六看六改心得体会
2014/10/14 职场文书
土建施工员岗位职责
2015/04/11 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书