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 相关文章推荐
javascript 支持ie和firefox杰奇翻页函数
Jul 22 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
理解javascript封装
Feb 23 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 Javascript
微信小程序 开发之快递查询功能的实现
Jan 09 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
JS中Object对象的原型概念基础
Jan 29 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
php生成rss类用法实例
2015/04/14 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
Fiddler如何抓取手机APP数据包
2016/01/22 Python
python如何在终端里面显示一张图片
2016/08/17 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
python绘制雷达图实例讲解
2021/01/03 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
美术教师个人工作总结
2015/02/06 职场文书
签证工作证明模板
2015/06/15 职场文书
运动会运动员赞词
2015/07/22 职场文书
《藏戏》教学反思
2016/02/23 职场文书
vue中div禁止点击事件的实现
2022/04/02 Vue.js
Android存储中最基本的文件存储方式
2022/04/30 Java/Android