vue-表单
时间:2019-10-23
本文章向大家介绍vue-表单,主要包括vue-表单使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
表单输入绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> <div> 用户名:<input type="text" v-model="username" @keyup="valiusername" placeholder="用户名">{{ usernametip }} </div> <div> 密码:<input type="password" v-model="password" placeholder="密码"> </div> <div> 性别: <input type="radio" name="sex" v-model="sex" value="1">男 <input type="radio" name="sex" v-model="sex" value="0">女 </div> <div> 爱好: <input type="checkbox" name="hobby" v-model="hobby" value="1">唱 <input type="checkbox" name="hobby" v-model="hobby" value="2">跳 <input type="checkbox" name="hobby" v-model="hobby" value="3">rap <input type="checkbox" name="hobby" v-model="hobby" value="4">篮球 </div> <div> <select v-model="lesson"> <option value="" disabled>请选择</option> <option value="1">一阶段</option> <option value="2">二阶段</option> <option value="3">三阶段</option> </select> </div> <div> 备注: <textarea v-model="note" placeholder="请填写您的特殊需求"></textarea> </div> <div> <input type="checkbox" v-model="flag">已阅读***协议 </div> <button @click="getData">获取用户的信息</button> {{ tip }} </div> </body> <script src="vue.js"></script> <script> new Vue({ el: '#app', data: { username: '', password: '', sex: '1', hobby: ['2'], // checkbox 作为多选,类型为数组 lesson: '', note: '', flag: false, // checkbox 作为选中还是未选中,类型为boolean tip: '', usernametip: '' }, methods: { valiusername () { if (this.username === '') { this.usernametip = '用户名不能为空' } else if (this.username.length < 5) { this.usernametip = '请输入正确格式的用户名' } else { this.usernametip = 'ok' } }, getData () { if (this.flag) { console.log({ username: this.username, // username: username 如果key和value相同,可以使用简写形式 username password: this.password, sex: this.sex, hobby: this.hobby, lesson: this.lesson, note: this.note, flag: this.flag }) } else { this.tip = "请先勾选同意阅读***协议" // 修改初始化数据 } } } }) </script> </html>
计算属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> <div> 用户名:<input type="text" v-model="username" placeholder="用户名">{{ usernametip }} </div> <div> 密码:<input type="password" v-model="password" placeholder="密码">{{passwordtip}} </div> <div> 性别: <input type="radio" name="sex" v-model="sex" value="1">男 <input type="radio" name="sex" v-model="sex" value="0">女 </div> <div> 爱好: <input type="checkbox" name="hobby" v-model="hobby" value="1">唱 <input type="checkbox" name="hobby" v-model="hobby" value="2">跳 <input type="checkbox" name="hobby" v-model="hobby" value="3">rap <input type="checkbox" name="hobby" v-model="hobby" value="4">篮球 </div> <div> <select v-model="lesson"> <option value="" disabled>请选择</option> <option value="1">一阶段</option> <option value="2">二阶段</option> <option value="3">三阶段</option> </select> </div> <div> 备注: <textarea v-model="note" placeholder="请填写您的特殊需求"></textarea> </div> <div> <input type="checkbox" v-model="flag">已阅读***协议 </div> <button @click="getData">获取用户的信息</button> {{ tip }} </div> </body> <script src="vue.js"></script> <script> new Vue({ el: '#app', data: { username: '', password: '', sex: '1', hobby: ['2'], // checkbox 作为多选,类型为数组 lesson: '', note: '', flag: false, // checkbox 作为选中还是未选中,类型为boolean tip: '' }, computed: { usernametip () { if (this.username === '') { return '不能为空' } else if (this.username.length < 5) { return '格式不对' } else { return 'ok' } }, passwordtip () { if (this.password === '') { return '不能为空' } else if (this.password.length < 5) { return '格式不对' } else { return 'ok' } } }, methods: { getData () { if (this.flag) { console.log({ username: this.username, // username: username 如果key和value相同,可以使用简写形式 username password: this.password, sex: this.sex, hobby: this.hobby, lesson: this.lesson, note: this.note, flag: this.flag }) } else { this.tip = "请先勾选同意阅读***协议" // 修改初始化数据 } } } }) </script> </html>
侦听属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> <div> 用户名:<input type="text" v-model="username" placeholder="用户名">{{ usernametip }} </div> <div> 密码:<input type="password" v-model="password" placeholder="密码"> </div> <div> 性别: <input type="radio" name="sex" v-model="sex" value="1">男 <input type="radio" name="sex" v-model="sex" value="0">女 </div> <div> 爱好: <input type="checkbox" name="hobby" v-model="hobby" value="1">唱 <input type="checkbox" name="hobby" v-model="hobby" value="2">跳 <input type="checkbox" name="hobby" v-model="hobby" value="3">rap <input type="checkbox" name="hobby" v-model="hobby" value="4">篮球 </div> <div> <select v-model="lesson"> <option value="" disabled>请选择</option> <option value="1">一阶段</option> <option value="2">二阶段</option> <option value="3">三阶段</option> </select> </div> <div> 备注: <textarea v-model="note" placeholder="请填写您的特殊需求"></textarea> </div> <div> <input type="checkbox" v-model="flag">已阅读***协议 </div> <button @click="getData">获取用户的信息</button> {{ tip }} </div> </body> <script src="vue.js"></script> <script> new Vue({ el: '#app', data: { username: '', password: '', sex: '1', hobby: ['2'], // checkbox 作为多选,类型为数组 lesson: '', note: '', flag: false, // checkbox 作为选中还是未选中,类型为boolean tip: '', usernametip: '' }, watch: { username (newVal, oldVal) { if (newVal === '') { // 用户名不能为空 this.usernametip = '用户名不能为空' } else if (newVal.length < 5) { // 用户名格式不对 this.usernametip = '用户名格式不对' } else { // ok this.usernametip = 'ok' } } }, getData () { if (this.flag) { console.log({ username: this.username, // username: username 如果key和value相同,可以使用简写形式 username password: this.password, sex: this.sex, hobby: this.hobby, lesson: this.lesson, note: this.note, flag: this.flag }) } else { this.tip = "请先勾选同意阅读***协议" // 修改初始化数据 } } } }) </script> </html>
原文地址:https://www.cnblogs.com/hy96/p/11729424.html
- [C#7] 1.Tuples(元组)
- 防止“rm-rf/”误删除的5种方法
- 基于DotNetOpenAuth实现OpenID 服务提供者
- .NET 和Java 对象 XML序列化 库WOX
- jquery mobile 移动web(6)
- IIS6 间歇性的发生500错误的解决方法
- 产品之上的世界观
- 使用Windows 7中的库
- WordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)
- [C#6] 0-概览
- 移植Windows自宿主WCF服务到Linux/Mono2.8
- IISWeb应用防火墙WAF
- WordPress 开发之让浏览器自动加载最新的CSS、JS文件(免刷新缓存)
- 在Windows 7无法通过UNC路径连接到共享文件夹的解决方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法