首页 > 其他分享 >[Vue] 案例:收集表单数据

[Vue] 案例:收集表单数据

时间:2023-12-02 18:11:23浏览次数:28  
标签:username vue 表单 案例 Vue userInfo campus

创建一个表单,利用vue完成所有逻辑

  1. 准备一个容器
<div id="root">
	<!--- @submit 指定提交行为, prevent阻止默认的刷新页面行为--->
	<form @submit.prevent="submitForm">
		username: <input type="text" v-model="userInfo.username"><br/><br/>
		password: <input type="password" v-model="userInfo.password"><br/><br/>
		gender: 
		<input type="radio" name="gender" value="female" v-model="userInfo.gender">F 
		<input type="radio" name="gender" value="male" v-model="userInfo.gender">M
		<br/><br/>
		hobbies:
		sing<input type="checkbox" value="sing" v-model="userInfo.hobby">
		dance<input type="checkbox" value="dance" v-model="userInfo.hobby">
		rap<input type="checkbox" value="rap" v-model="userInfo.hobby">
		<br/><br/>
		campus:
		<select v-model="userInfo.campus">
			<option value="">Please select your campus</option>
			<option value="Redstone">Redstone</option>
			<option value="Central">Central</option>
			<option value="Trinity">Trinity</option>
		</select>
		<br/><br/>
		details:
		<textarea v-model="userInfo.details"></textarea>
		<br/><br/>
		<input type="checkbox" v-model="userInfo.isAgreed">Agreement on our <a href="ccc.com">privacy policy</a>
		<br/><br/>
		<button type="submit">submit</button>
	</form>
</div>
  1. 创建一个vue实例
new Vue({
	el: '#root',
	data: {
		// 创建一个userInfo对象
		userInfo: {
			username: '',
			password: '',
			gender: 'female',  // 给一个默认值,初始渲染时就会自动勾选一个值
			hobby: [],  // 对于多选项的checkbox,使用数组
			campus: '',
			details: '',
			isAgreed: true // 对于单选项的checkbox,随便
		}
	},
	methods: {
		submitForm(){
		// 提交后打印所有信息
			console.log(JSON.stringify(this.userInfo))
		}
	}
})
  1. 一些有用的v-model修饰符
  • number: 输入数字类型的值, 强制转化为数字,比如年龄
    age: <input type="number" v-model.number="userInfo.age">
  • lazy: 输入长字符串时,阻止vue实时收集数据,而是当输入框失去聚焦时全部收集
    <textarea v-model.lazy="userInfo.details"></textarea>
  • trim: 输入字符串时,去掉首位的空格
    username: <input type="text" v-model.trim="userInfo.username">

标签:username,vue,表单,案例,Vue,userInfo,campus
From: https://www.cnblogs.com/Akira300000/p/17871959.html

相关文章

  • vue实现请再次输入密码的表单校验
    1、获取第一次输入的密码的值2、比较两次密码的值是否相等3、如果不一致返回错误信息this.userInfo.password2:获取第一次输入的密码;value当前校验值;validator自定义校验规则;constConfirmPassword=(rule,value,callback)=>{if(value!==this.userInfo.password2){......
  • 前端学习-JavaScript学习-js基础-API02-轮播图案例
    自己写的<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 谈谈企业级 Angular 应用的二次开发 - 基于 Angular Component 替换的 Extensibility
    我们知道面向个人用户(toCustomer,简称2C)软件和面向企业级用户(toBusiness,简称2B)的软件,在设计和实现上都存在一些区别,比如个人软件通常注重直观的用户界面和简单易用的设计,其中用户体验是关键,因为个人软件的目标是满足个人用户的需求和偏好。想想我们每天都在刷的抖音和......
  • Vue3 + TS 搭建组件库
    开始在编写组件库之前,我们首先要对整个代码项目的解构有一个清晰的划分,以及用到的大多数规范,和代码风格有一个约定,这篇文章主要就围绕着下面图中的几个问题展开描述一下。1、搭建monorepo环境我们使用pnpm当做包管理工具,用pnpmworkspace来实现monorepo。可以看下面参考文章......
  • vue 富文本编辑器 wangeditor 自定义上传图片 以及 解决 复制粘贴 word 没有图片的情
    本人比较喜欢用这一款编辑器,官方文档:(用于VueReact|wangEditor),很详细。我主要来说说怎么使用customPaste自定义粘贴的,怎么解决复制粘贴word,没有图片的情况。主要是关于wangeditor在vue2的使用效果图:先把完整代码放这里:<template><divclass="addpost_course"......
  • vue3使用富文本编辑器wangEditor 5,增加自定义下拉框,并动态改变下拉框内容
    官方资料wangEditor官网效果展示准备工作这里按照wangEditor官网提供的Vue3Demo操作就行,下面的内容可以直接跳过安装yarnadd@wangeditor/editor#或者npminstall@wangeditor/editor--saveyarnadd@wangeditor/editor-for-vue@next#或者npminstall@w......
  • 拓数派荣获上海市“智慧工匠”工业软件创新案例奖
    近日,由上海市经济和信息化委员会指导、上海市城市数字化转型应用促进中心主办、上海中创产业创新研究院承办的“工业软件赋能新型工业化”主题沙龙暨2023“智慧工匠”工业软件创新案例竞赛颁奖典礼在上海圆满落幕。拓数派凭借上汽集团工业数据管理服务平台案例成功入选上海市“智慧......
  • Vue源码学习(十七):实现computed计算属性
    好家伙,本章我们尝试实现computed属性 0.完整代码已开源https://github.com/Fattiger4399/analytic-vue.git 1.分析1.1computed的常见使用方法1.计算依赖数据:当某个数据发生变化时,computed属性可以自动更新,并返回计算结果。例如:<template><div><p>用户姓名:{{u......
  • [Vue] vue如何监控数据的
    vue会监测data属性下所有层次的数据变化监控对象中的数据通过setter监控,在新建vue实例时就要传入要监控的数据对象中含有的,之后追加的属性,vue默认不做响应式处理,即没有对应的getter/setter如果需要响应式处理,要利用对应的APIVue.set(target,propertyName/index,value)......
  • 关于Vue3中调试APP触发异常:exception:white screen cause create instanceContext fai
    bug:reportJSException>>>>exceptionfunction:createInstanceContext,exception:whitescreencausecreateinstanceContextfailed,checkjsstack->atuseStore(app-service.js:2309:15)问题在于:使用了pinia,并且在所有js文件或ts文件中调用超前,导致的加载错误 解决方......