Flex布局的三个属性

收集表单数据:

若:,则v-model收集的是value值,用户输入的就是value值。

若:,则v-model收集的是value值,且要给标签配置value值

若:

1.没有配置input的value属性,那么收集的就是checked(勾选or 未勾选,是布尔值)

2.配置input的value属性:

(1)v-model的初始值是非数组,那么收集的就是checked(勾选or 未勾选,是布尔值)

(2)v-model的初始值是数组,那么收集的的就是value组成的数组

备注:v-model的三个修饰符:

lazy:失去焦点再收集数据

number:输入字符串转为有效的数字

trim:输入首尾空格过滤

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>收集表单数据</title>
  <script src="../js/vue.js"></script>

  <style>
  #root{padding:10px;}
  #root form{clear: both;width:500px;margin:0px auto;}
  #root .rows{clear: both;padding-bottom:15px;}
  #root .rows label{}
  #root .rows input{}
  .ml{margin-left: 100px;}
  </style>

</head>
<body>
<div id="root">
  <form @submit.prevent="demo1">
    <div class="rows">
      <label for="zhanghao">账号:</label>
      <input type="text" id="zhanghao" v-model.trim="userInfo.account"/>
    </div>
    <div class="rows">
      <label>密码:</label>
      <input type="password" v-model="userInfo.password"/>
    </div>
    <div class="rows">
      <label>年龄:</label>
      <input type="number" v-model.number="userInfo.age"/>
    </div>
    <div class="rows">
      <label>性别:</label>
      男<input type="radio" name="sex" v-model="userInfo.sex" value="male"/>
      女<input type="radio" name="sex" v-model="userInfo.sex" value="female"/>
    </div>
    <div class="rows">
      <label>爱好:</label>
      <input type="checkbox" v-model="userInfo.hobby"  value="1"/>打羽毛球  
     <input type="checkbox" v-model="userInfo.hobby" value="2"/> 读书   
      <input type="checkbox" v-model="userInfo.hobby" value="3"/>画画  
      <input type="checkbox" v-model="userInfo.hobby" value="4"/>吃饭
    </div>
    
    <div class="rows">
      <label>所属校区:</label>
      <select v-model="userInfo.city">
        <option value="">请选择校区</option>
        <option value="1">北京校区</option>
        <option value="2">上海校区</option>
        <option value="3">深圳校区</option>
        <option value="4">茅台校区</option>
      </select>
    </div>
    <div class="rows">
      <label>备注信息:</label>
      <textarea v-model.lazy="userInfo.infos"></textarea>
    </div>
    
    <div class="rows">
      <input type="checkbox" v-model="userInfo.agree"/>
      阅读并接受<a href="javascript:;">《用户协议》</a>
    </div>
    
    <div class="rows">
      <button>提交</button>
    </div>

  </form>
</div>


<script type="text/javascript">
  Vue.config.productTip = false; //阻止 vue在控制点生成生产提示信息

  // 使用 computed 计算属性实现
  const vm = new Vue({
    el:'#root',
    data:{
      userInfo:{
        account:'',
        password:'',
        age:18,
        sex:'',
        hobby:[],
        city:'',
        infos:'',
        agree:''
      }
 
    },
    methods:{
      demo1(){
        alert('提交了');
        console.log("表单数据"+this.account)
        console.log("Data"+ JSON.stringify(this.userInfo))
      }
    }
 
  })
</script>
</body>
</html>
相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A5 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
honkun65 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19915 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net