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 相关文章推荐
简单三步,搞掂内存泄漏
Mar 10 Javascript
JavaScript 一道字符串分解的题目
Aug 03 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
js实现精确到秒的日期选择器完整实例
Apr 30 Javascript
ajax跨域调用webservice的实现代码
May 09 Javascript
基于Cookie常用操作以及属性介绍
Sep 07 Javascript
实例分析JS与Node.js中的事件循环
Dec 12 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 Javascript
AngularJS 前台分页实现的示例代码
Jun 07 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
JavaScript ES6 Class类实现原理详解
May 08 Javascript
vue实现验证用户名是否可用
Jan 20 Vue.js
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
mysql 字段类型说明
2007/04/27 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python内置函数的用法实例教程
2014/09/08 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
对python函数签名的方法详解
2019/01/22 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
python不同系统中打开方法
2020/06/23 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
J2EE模式面试题
2016/10/11 面试题
大学毕业后的十年规划
2014/01/07 职场文书
创建青年文明号材料
2014/05/09 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript