vue的表单收集案例

Vue的表单收集案例

这只是最基础的表单收集,并未涉及到element-ui。

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>收集表单数据</title>
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 准备好一个容器-->
		<div id="root">
			<!-- 这里可以设置action属性就是指定表单提交的地址 -->
			<form @submit.prevent="demo"> 
				账号:<input type="text" v-model.trim="userInfo.account"> <br/><br/>
				密码:<input type="password" v-model="userInfo.password"> <br/><br/>
				<!-- 注意输入age需要使用.number转化为数字 -->
				年龄:<input type="number" v-model.number="userInfo.age"> <br/><br/>
				性别:
				<!-- 单选框 需要使用name属性表示他们是一组,不然没有单选效果--><input type="radio" name="sex" v-model="userInfo.sex" value="male"><input type="radio" name="sex" v-model="userInfo.sex" value="female"> <br/><br/>
				<!-- 多选框 ,因为可以有多个值,所以hobby是一个数组 -->
				爱好:
				学习<input type="checkbox" v-model="userInfo.hobby" value="study">
				打游戏<input type="checkbox" v-model="userInfo.hobby" value="game">
				吃饭<input type="checkbox" v-model="userInfo.hobby" value="eat">
				<br/><br/>
				<!-- 下拉列表 -->
				所属校区
				<select v-model="userInfo.city">
					<option value="">请选择校区</option>
					<option value="beijing">北京</option>
					<option value="shanghai">上海</option>
					<option value="shenzhen">深圳</option>
					<option value="wuhan">武汉</option>
				</select>
				<br/><br/>
				其他信息:
				<!--这里使用了懒加载,只有在失去焦点的一瞬间才会进行收集 -->
				<textarea v-model.lazy="userInfo.other"></textarea> <br/><br/>
                <!-- 这里虽然也是多选框,但是它的值只有勾选,未勾选,truefalse,所以就不需要value属性 -->
				<input type="checkbox" v-model="userInfo.agree">阅读并接受<a href="http://www.atguigu.com">《用户协议》</a>
				<!-- 表单按钮默认会进行提交操作,进行页面跳转,不需要的话可以阻止事件的默认行为 -->
				<button>提交</button>
			</form>
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false

		new Vue({
			el:'#root',
			data:{
				userInfo:{
					account:'',
					password:'',
					age:18,
					sex:'female',
					hobby:[],
					city:'beijing',
					other:'',
					agree:''
				}
			},
			methods: {
				demo(){
					//把收集到的表单数据转为json格式
					console.log(JSON.stringify(this.userInfo))
				}
			}
		})
	</script>
</html>

收集表单数据:

  • 若:<input type="text"/>,则v-model收集的是value值,用户输入的就是value值。
  • 若:<input type="radio"/>,单选框则v-model收集的是value值,且要给标签配置value值。
  • 若:<input type="checkbox"/> 多选框
    1.没有配置input的value属性,那么收集的就是true(勾选 or 未勾选,是布尔值)
    2.配置input的value属性:
    (1)v-model的初始值是非数组,那么收集的就是true(勾选 or 未勾选,是布尔值)
    (2)v-model的初始值是数组,那么收集的的就是value值组成的数组。

总结:就是不能用户输入的除了v-module都会多加一个value属性 ,但是也有只需要true和false的checkbox就除外。

备注:v-model的三个修饰符:
lazy:失去焦点再收集数据
number:输入字符串转为有效的数字
trim:输入首尾空格过滤–>

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于一个Vue2和Vue3项目的案例,你可以按照以下步骤进行操作: 1. 首先,安装Vue2和Vue3的脚手架。在你选择的系统盘上创建两个文件夹,分别用于存放Vue2和Vue3版本的项目。进入Vue2文件夹,在地址栏中输入cmd并按回车,然后执行以下命令进行安装:npm install vue-cli(注意不要加-g,以避免全局安装)。同样的方式,进入Vue3文件夹并执行以下命令进行安装:npm install @vue/cli(同样不要加-g)。确保安装的@vue/cli版本在4.5.0以上。 2. 修改名称以区分Vue2和Vue3。在node_modules文件夹下的.bin文件夹中,找到vuevue.cmd文件,分别将它们改名为vue2和vue2.cmd。同样的方式,对于Vue3,将它们改名为vue3和vue3.cmd。 3. 确认安装是否成功。分别在Vue2和Vue3的文件夹中使用命令vue2 -V和vue3 -V来查看版本号,确保安装成功。 4. 编写router/index.js文件。在该文件中,引入VueVueRouter,并使用Vue.use(VueRouter)来启用VueRouter。然后创建一个VueRouter实例,并将routes配置传入。最后,导出该router实例。 这样,你就可以开始编写Vue2和Vue3项目的案例了。你可以根据需要在各自的文件夹中创建组件、路由和其他功能。记得在Vue2项目中使用vue2命令,而在Vue3项目中使用vue3命令来启动开发服务器或进行其他操作。 希望这个步骤对你有帮助! #### 引用[.reference_title] - *1* *2* [Vue2与Vue3共存于一台电脑 保姆级教程](https://blog.csdn.net/weixin_71170351/article/details/128899936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue2开发-案例](https://blog.csdn.net/flayer2006/article/details/122935668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厌世小晨宇yu.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值