vue实现表单录入小案例

本文实例为大家分享了vue实现表单录入的具体代码,供大家参考,具体内容如下

最终效果:

代码:

<template>
 <div id="app">
  <!--第一部分-->
  <fieldset>
   <legend>学生录入系统</legend>
   <div>
    <span>姓名:</span>
    <input type="text" placeholder="请输入姓名" v-model="newStudent.name">
   </div>
   <div>
    <span>年龄:</span>
    <input type="text" placeholder="请输入年龄" v-model="newStudent.age">
   </div>
   <div>
    <span>性别:</span>
    <select v-model="newStudent.sex">
     <option value="男">男</option>
     <option value="女">女</option>
    </select>
   </div>
   <div>
    <span>手机:</span>
    <input type="text" placeholder="请输入手机号码" v-model="newStudent.phone">
   </div>
   <button @click="createNewStudent()">创建新用户</button>
  </fieldset>
  <!--第二部分-->
  <table>
   <thead>
   <tr>
    <td>姓名</td>
    <td>性别</td>
    <td>年龄</td>
    <td>手机</td>
    <td>删除</td>
   </tr>
   </thead>
   <tbody>
   <tr v-for="(p, index) in persons">
    <td>{{p.name}}</td>
    <td>{{p.sex}}</td>
    <td>{{p.age}}</td>
    <td>{{p.phone}}</td>
    <td>
     <button @click="deleteStudentMsg(index)">删除</button>
    </td>
   </tr>
   </tbody>
  </table>
 </div>
</template>

<script>
  export default {
    name: "todolist2",
   data(){
     return{
      persons: [
       {name: '张三', age: 20, sex: '男', phone: '18932323232'},
       {name: '李四', age: 30, sex: '男', phone: '18921212122'},
       {name: '王五', age: 20, sex: '男', phone: '18932223232'},
       {name: '赵六', age: 25, sex: '女', phone: '18932322232'},
      ],
      newStudent: {name: '', age: 0, sex: '男', phone: ''}
     }
   },
   methods: {
    // 创建一条新纪录
    createNewStudent(){
     // 姓名不能为空
     if(this.newStudent.name === ''){
      alert('姓名不能为空');
      return;
     }

     // 年龄不能小于0
     if(this.newStudent.age <= 0){
      alert('请输入正确的年龄');
      return;
     }

     // 手机号码
     if(this.newStudent.phone === ''){
      alert('手机号码不正确');
      return;
     }

     // 往数组中添加一条新纪录
     this.persons.unshift(this.newStudent);
     // 清空数据
     this.newStudent = {name: '', age: 0, sex: '男', phone: ''}
    },

    // 删除一条学生纪录
    deleteStudentMsg(index){
     this.persons.splice(index,1);
    }
   },
  }
</script>

<style scoped>
 #app{
  margin: 50px auto;
  width: 600px;
 }

 fieldset{
  border: 1px solid orangered;
  margin-bottom: 20px;
 }

 fieldset input{
  width: 200px;
  height: 30px;
  margin: 10px 0;
 }

 table{
  width: 600px;
  border: 2px solid orangered;
  text-align: center;
 }

 thead{
  background-color: orangered;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 使用Vue动态生成form表单的实例代码

    具有数据收集.校验和提交功能的表单生成器,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展. 欢迎大家star学习交流:github地址 示例 https://raw.githubusercontent.com/xaboy/form-create/dev/images/sample110.jpg 安装 npm install form-create OR git clone https://github.com/xa

  • vue表单验证你真的会了吗?vue表单验证(form)validate

    前言 很久没有写文章了,学习了一下webpack,基础的一些组件,今天带来form表单验证组件(element.iviewui)的一期教程(作为一个菜鸡毕竟经历众多项目可以给一些新手一点提示 (QQ群技术讨论)838293023备注(github进来的 github 技术文档技术文档会持续更新 效果图 1.原理解释 考虑 我们看一下我们可以用form去整体触发校验也可以单个input来触发form-item 进行校验 童鞋们现在可能感觉还是没懂,没关系继续往下看. 2.派发和广播 为什么要用广播

  • vue使用Element组件时v-for循环里的表单项验证方法

    标题描述看起来有些复杂,有vue,Element,又有表单验证,还有v-for循环?是不是有点乱?不过我相信开发中遇到过此问题的同学,一看就明白我说的意思了. 首先Element组件有一套完善的表单验证方法,官方文档写的也很清楚:Element表单验证API,正常按照官方文档添加rules规则,需要验证的表单项设置prop,然后提交表单时通过form的validate方法验证表单项就可以了. 然鹅问题来了,如果表单项里有通过v-for动态生成的表单项,如何设置验证呢?这个官方文档并没有明确的说法

  • Vue axios 中提交表单数据(含上传文件)

    我们经常使用表单来上传数据,以及上传文件,那么怎么在表单提交成功的时候接受服务器的响应,并作出相应操作. 当然使用一般jQuery上传对象的格式也是可以的,如果使用传统的表单上传呢? <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport

  • Vue form 表单提交+ajax异步请求+分页效果

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta charset="UTF-

  • vue2 中如何实现动态表单增删改查实例

    最近项目中遇到的需求是要操作大量的表单,之前的项目中有做过这方的研究,只不过是用jquery来操作. 项目A 先简单说说以前项目A中的应用场景,可能有小伙伴儿也遇到相同的需求.A项目是公司的OA系统中有的项目,是用java的jsp渲染的页面,需求是要改成:嵌入APP中显示,前后端分离, 后端返回的内容,还不能修改, 只是后端同事做了下接口处理,返回给前端的是一大堆的表单数据. 每个表单都有多个字段表示它的属性: 是否可编辑 表单类型 (text, textarea, select, radio,

  • Vue表单验证插件Vue Validator使用方法详解

    Vue-validator 是Vue的表单验证插件,供大家参考,具体内容如下 Vue版本: 1.0.24 Vue-validator版本: 2.1.3 基本使用 <div id="app"> <validator name="validation"> <form novalidate> <div class="username-field"> <label for="username

  • Vue2.0表单校验组件vee-validate的使用详解

    vee-validate使用教程 本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 npm install vee-validate@next --save 注意:@next,不然是Vue1.0版本 bower install vee-validate#2.0.0-beta.13 --save 二.引用 import Vue from 'vue'; import VeeValidate

  • Vue+ElementUI实现表单动态渲染、可视化配置的方法

    动态渲染就是有一个异步的数据,大概长这样: { "inline": true, "labelPosition": "right", "labelWidth": "", "size": "small", "statusIcon": true, "formItemList": [ { "type": "

  • Vue ElementUI之Form表单验证遇到的问题

    首先说一下 我在form表单里面遇见的坑: 1.例如我要给后台传的不是对象,而是一个数组,怎么写验证? 2.比如我有四个弹出框,都要做验证,这个时候就要注意了,每一个弹出框的ref都不能给的一样,并且一定要与当前弹框的确定或者保存按钮一一对应,例如:第一个弹框的ref='number',按钮的click比如为xxxxxx('number'),第二个弹出框的ref='number2',对应的按钮>>xxxxxx('number2').如果ref用的都一样,就会出现,点击下一步我没有去做验证,我再

随机推荐