当前位置: 首页 > article >正文

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:输入首尾空格过滤

<!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>


http://www.kler.cn/a/471747.html

相关文章:

  • 2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined
  • WPF中RenderTargetBitmap问题解决
  • 服务器等保测评审计日志功能开启(auditd)和时间校准
  • 如何从串 ‘ 中国 +86‘ 中,获取到‘中国’:strip()、split()及正则表达式的使用
  • 通达信行情接口失效?C# 实现获取五档报价行情 GetSecurityQuotes
  • Ubuntu 安装 Java 1.8
  • Ruby语言的数据库编程
  • 【Uniapp-Vue3】v-bind指令实现图片切换
  • 将 Docker 和 Kubernetes 的存储目录迁移到更大的磁盘分区上
  • transformer深度学习实战CCTSDB中国交通标志识别
  • 游戏语音趋势解析,社交互动有助于营造沉浸式体验
  • 【gRPC】一元拦截器与流式拦截器确保请求附带认证令牌token
  • 自然灾害事件复盘分析的思考框架
  • Flutter使用GestureDetector工具实现手势缩放效果
  • C++二十三种设计模式之工厂方法模式
  • 力扣-数据结构-15【算法学习day.86】
  • 前端如何处理后端传入的复杂数据格式
  • 常见的显示器分辨率及其对应的像素数量
  • 短诗《腊八粥》
  • 【python】Luhn算法验证身份证号码的程序