【Vue】表单数据的收集

1、input输入框

首先需要创建input输入框,将它们与data配置项中的属性进行双向的数据绑定,这样便可以实现用户在输入框中输入内容,将内容传递到data对应的属性中。

帐号:<input type="text"  v-model.trim="account"><br><br>
密码:<input type="password" v-model:value="psw"><br><br>
年龄:<input type="number" v-model.number="age"><br><br>

<script>
            const vm=new Vue({
                el:'#root',
                data:{
                    account:'',
                    psw:'',
                    age:'',
                }          
            })
</script>

备注:

  1. v-model.trim用于清除帐号这一个输入框中前后出现的空格,但是不能清除中间输入的空格
  2. 年龄输入框中,type="number"中的number用于将输入的内容转换成数值,例如输入18abc,将收到18;第二个number是Vue中的修饰符,可以将传入的数据进行数据类型转换,转换为数值类型的数据。

实现如下图:
在这里插入图片描述

输入相关的内容借助Vue开发者工具查看数据:
在这里插入图片描述

2、radio单选框

同样的通过v-model进行数据绑定

性别:
男<input type="radio" name="sex" v-model:value="sex"value="male"><input type="radio" name="sex" v-model:value="sex"value="female">
<script>
            const vm=new Vue({
                el:'#root',
                data:{
                   sex:'female',
                },              
            })
</script>

将data中sex的值赋为female则默认选中“女”
在这里插入图片描述需要注意的是,要在radio中加入value值,否则将会显示null
在这里插入图片描述

3、checkbox多选框

 爱好:<br><br>
学习<input type="checkbox" v-model:value="hobby" value="study">
打游戏<input type="checkbox" v-model:value="hobby" value="game">
吃饭<input type="checkbox" v-model:value="hobby" value="eat">

<input type="checkbox" v-model="agree">阅读并接受 <a href="#">《用户协议》</a>
<script>
            const vm=new Vue({
                el:'#root',
                data:{
                   hobby:[],
                   agree:'',
                },              
            })
</script>

checkbox多选框需要用数组进行双向绑定,不然返回的值是checked的true或false
在这里插入图片描述

勾选的选项则会往对应的数组中添加元素
在这里插入图片描述

也可以通过不输入value值来判断是否勾选,勾选返回true,否则返回false
在这里插入图片描述
在这里插入图片描述

4、option选择框

 所属校区:
 <select v-model:value="city">
                <option value="" >请选择校区</option>
                <option value="beijing" >北京</option>
                <option value="shagnhai" >上海</option>
                <option value="shenzhen" >深圳</option>
                <option value="wuhan" >武汉</option>
</select>
<script>
            const vm=new Vue({
                el:'#root',
                data:{
                   city:'',
                },              
            })
</script>

在这里插入图片描述

选择对应的选项,会往对应的属性中赋值
在这里插入图片描述

5、textarea多行文本框

<textarea v-model.lazy="other">


</textarea>
 <script>
            const vm=new Vue({
                el:'#root',
                data:{
                   other:'',
                },              
            })
</script>

可以使用.lazy来实现数据的不实时更改,在失去焦点时才会更新对应属性的值

在这里插入图片描述此时焦点还在多行文本框中,输入“其它信息”内容,此时对应的属性值没有发生变化
在这里插入图片描述失去焦点时,发生了数据的更新
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值