vue入门之表单数据收集

说明:

记录vue在使用表单收集数据出现的一些常见问题 !!!

 038_尚硅谷Vue技术_收集表单数据_哔哩哔哩_bilibili

<form @submit.prevent='demo'>

   <!--使用label标签当点击文字时,光标会锁定在文本框中->
<label for='account'>账号</label>  
<input type=text name=account v-model.trim='account'  value = ''/><br>


<label for='password'>密码</label>
<input type=password name=password  v-model='password' value =''/><br>


<label for='age'>年龄</label>
<input type=number name=age  v-model.number='age' value =''/><br>

<label>性别</label>
男: <input type=radio name=sex  v-model='sex' value ='male'/>
女:<input type=radio name=sex  v-model='sex' value ='fmale'/><br>


<label for='hobby'>爱好</label>
<input type=checkbox name=hobby  v-model='hobby'  value='search'/> 搜索
<input type=checkbox name=hobby  v-model='hobby'  value ='game'/> 游戏
<input type=checkbox name=hobby  v-model='hobby'  value ='sang'/> 唱歌


<select  v-model='address'>
     <option value=0>选择地区</option>
     <option value=1>北京</option>
     <option value=2>上海</option>
     <option value=3>天津</option>
</select>



<label for='other'>其他</label>
<textarea type=text name=area v-model='area' value></textarea><br>

<input type=checkbox name=agree v-model='agree'>
<a href='www.baidu.com'>协议地址</a>

<button @submit.prevent= 'saveInfo'>提交</button>

</form>





const vm = new Vue({
      data:{
         account:'',
         password:'',
         age:'',
         sex:'',
         hobby:[],
         address:'',
         area:''
         agree:''
        },
     methods:{
         saveInfo(){
              ###业务逻辑处理
              console.log(JSON.toStringfy(this._data))
           }
      }
})

表单中使用v-model绑定常见的问题

 v-model绑定文本框注意

1) 文本框必须要设定value属性

2)文本框类型是text是如果要去除空格使用v-model.trim

3)文本框类型是number时控制双向绑定也为数字 v-model.number

v-model绑定单选按钮时注意

1)单选框要必须设定value属性,如果不设定则收集的是check的值

2)按钮的初始化值设定可以使用原生的check=checked控制,也可以在vue实例中初始设定

v-model绑定复选框需要注意:

1)复选框必须要设定value属性

2)复选框多选项初始值的设定,会影响操作,如果初始值设定成字符串,则v-model也不会收集响应的value值。

因此使用v-model绑定复选框多选项时,vue实例中属性定义为数组

使用v-model绑定复选框单选项时,vue实例中属性定义为字符串

v-model绑定下拉框需要注意:

1)下拉框option必须要设定value属性

2)默认值的设定可以通过原生select=selected或者vue实例中设定初始值

v-model绑定多行文本框需要注意:

1)多行文本框不需要设定value值

v-model绑定单项复选框需要注意:

 1)因为只有一个复选框,只需要判断是否勾选即可,因此不需要设定value属性

2)可以通过v-model.lazy来控制是在失去焦点时才收集文本内容

点击按钮需要注意

1)点击按钮,会导致表单提交然后跳转页面,导致表单数据丢失

2)阻止表单提交跳转页面的默认行为 @submit.prevent='回调函数'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值