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 相关文章推荐
JS取文本框中最小值的简单实例
Nov 29 Javascript
jQuery后代选择器用法实例
Dec 23 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
使用AOP改善javascript代码
May 01 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
jQuery滚动监听实现商城楼梯式导航效果
Mar 06 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
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文件大小格式化函数合集
2014/03/10 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
python中的函数用法入门教程
2014/09/02 Python
python服务器端收发请求的实现代码
2014/09/29 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
django中使用POST方法获取POST数据
2019/08/20 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
电大物流学生的自我评价
2013/10/25 职场文书
信息管理专业推荐信
2013/10/29 职场文书
安全生产先进个人材料
2014/02/06 职场文书
安全责任书范文
2014/03/12 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
优秀教师推荐材料
2014/12/16 职场文书
新生儿未入户证明
2015/06/23 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
python中的None与NULL用法说明
2021/05/25 Python