1. Form组件渲染

  1. components -> 新增组件Form.vue

<template>
<div>表单验证</div>
</template> <script>
export default { }
</script> <style lang="less" scoped> </style>

  2. 添加路由 router -> index.js

// 导入组件
import Form from '../components/Form.vue' //增加新路由规则
const routes = [
{
path: '/',
redirect: '/demo1'
},
{
path: '/demo1',
name: 'Demo1',
component: Demo1
},
{
path: '/form',
name: 'Form',
component: Form
}
]

  3. npm run serve 访问http://localhost:8080/#/form

2. 数据绑定

  1. 通过Element-UI布局  components ->  Form.vue

    用到的组件:el-form el-form-item el-input el-button

<template>
<div class="form_container">
<el-form label-width="100px">
<el-form-item label="用户名">
<el-input></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input></el-input>
</el-form-item>
<el-form-item class="btns">
<el-button type="primary">校验</el-button>
<el-button type="info">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>

  

  

  2.plugins -> element.js

    按需导入Element-UI  组件

import Vue from 'vue'
import { Button, Form, Input, FormItem } from 'element-ui' Vue.use(Button)
Vue.use(Form)
Vue.use(Input)
Vue.use(FormItem)

  

  3.数据绑定

   知识点:

    model:表单数据对象

    v-model:需要绑定的数据对象

<template>
<div class="form_container">
<el-form :model="Form" label-width="100px">
<el-form-item label="用户名">
<el-input v-model="Form.username"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="Form.password"></el-input>
</el-form-item>
<el-form-item class="btns">
<el-button type="primary">校验</el-button>
<el-button type="info">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>

  4.到行为去增加数据对象

<script>
export default {
data() {
return {
Form: {
username: "",
password: ""
}
};
}
};
</script>

3.数据校验

  1. 增加校验规则 rules, prop:作用与el-form-item,表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的

<template>
<div class="form_container">
<el-form :model="Form" :rules="FormRules" label-width="100px">
<el-form-item prop="username" label="用户名">
<el-input v-model="Form.username"></el-input>
</el-form-item>
<el-form-item prop="password" label="密码">
<el-input v-model="Form.password"></el-input>
</el-form-item>
<el-form-item class="btns">
<el-button type="primary">校验</el-button>
<el-button type="info">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>

  2. 增加FormRules的数据对象:required 必填项, message:提示, trigger: "blur" 鼠标选中

FormRules: {
username: [
{ required: true, message: "请输入用户名", trigger: "blur" }
],
password: [{ required: true, message: "请输入密码", trigger: "blur" }]
}

  3. 检查效果

4. 重置表单

  1. resetField:对该表单项进行重置,将其值重置为初始值并移除校验结果

  2.对button绑定click事件

// tempalte
<el-button type="info" @click="resetForm">重置</el-button> // 行为区新增重置方法
methods: {
// 重置表单
resetForm() {
console.log(this);
}
}

  3.增加ref 引用

<el-form :model="Form" :rules="FormRules" ref="FormRef" label-width="100px">

  4. 重置方法

methods: {
// 重置表单
resetForm() {
console.log(this);
this.$refs.FormRef.resetFields()
}
}

  

  5.实现效果

5. 表单预验证

  1.validate: valid第一个为行参,返回布尔值,如果不通过False, 通过则是true

 // 预验证
validForm() {
this.$refs.FormRef.validate( valid => {
console.log(valid)
})
}

  2. 实现效果

  

github: https://github.com/wangxiao9/vue_coding.git

参考:https://element.faas.ele.me/#/zh-CN/component/form

【VUE】3.表单操作的更多相关文章

  1. vue的表单编辑删除,保存取消功能

    过年回来第一篇博客,可能说的不是很清楚,而且心情可能也不是特别的high,虽然今天是元宵,我还在办公室11.30在加班,但就是想把写过的代码记下来,怕以后可能真的忘了.(心将塞未塞,欲塞未满) VUE ...

  2. Vue.js表单校验;动画指令;避免内存泄露。

    Vue.js表单校验: 动画指令:创建自定义的滚动指令. 避免内存泄露. 避免内存泄露 在单页面应用开发时SPA,用户无需刷新浏览器.所以javascript应用需要自行清理组件来防止内存占用不断增长 ...

  3. 基于JQuery的前端form表单操作

    Jquery的前端表单操作:     jquery提供了良好的方法封装,在一些基本的操作的时候,能节省很多的麻烦,其中,在具体使用时,form表单的数据提交是最频繁也最常见的前后数据交换方式,所以在前 ...

  4. Django之form表单操作

    小白必会三板斧 from django.shortcuts import render,HttpResponse,redirect HttpRespone:返回字符串 render:返回html页面 ...

  5. 【JavaScript】DOM之表单操作

    DOM 表单操作 1.获取表单 获取表单元素 以Document对象中forms属性来获取当前HTML页面所有表单集合以Document对象中表单的name属性值来获取表单元元素 <body&g ...

  6. python -使用Requests库完成Post表单操作

    """ 使用Requests库完成Post表单操作 """ #_*_codingn:utf8 _*_ import requests fro ...

  7. 12.Vue.js 表单

    这节我们为大家介绍 Vue.js 表单上的应用. 你可以用 v-model 指令在表单控件元素上创建双向数据绑定. <div id="app"> <p>in ...

  8. vue + vuex 表单处理

    使用场景:在一个表单中,各项数据提交后需要重置表单中各<input>元素的值为空. 组件中关联: <template> <el-form ref="form&q ...

  9. 使用vue做表单验证

    <template> <Form ref="formInline" :model="formInline" :rules="rule ...

随机推荐

  1. mongodb 数据操作CRUD

    链接到mongo 新建超级用户 上文中我们提到mongo用户库表管理.为了方便我们先新建一个root权限的用户. db.createUser({user:'dbadmin',pwd:'123456', ...

  2. gethub网址链接

    https://github.com/fraser-in-school/suduku 之前这个网址是手动提交的,现在从新更新下,这是用Visio studio提交的,应该不会缺少并不必要的文件 htt ...

  3. 本地文件r如何上传到github上

    来源:http://www.cnblogs.com/shenchanghui/p/7184101.html 来源:http://blog.csdn.net/zamamiro/article/detai ...

  4. java关键字之abstract

    Java 允许类,借口或成员方法具有抽象属性. abstract  修饰的类叫做抽象类,该类不能被实例化. abstract  修饰的方法叫抽象方法,抽象方法只有声明部分,没有具体的方法体. 接口总是 ...

  5. eclipse之SSH配置spring【二】

    第一篇中配置struts完成(http://www.cnblogs.com/dev2007/p/6475074.html),在此基础上,继续配置spring. web.xml中增加listener,依 ...

  6. 4G DTU的应用场景介绍

    4G DTU因为信号要比传统的gprs网络要好,目前已经被广泛应用于物联网产业链中的M2M行业,以远向4G DTU LTE-520为例,它的应用场景如智能电网.智能交通.智能家居.金融.移动 POS ...

  7. STM32移植FreeRTOS(1)

    "STM32F103VET6<_>FreeRTOS" 1.项目功能实现 1)LED灯定时闪烁 2)KEY按键检测 3)FreeRTOS任务创建 4)串口输出程序运行状态 ...

  8. ThinkPHP中,运用PHPExcel,将数据库导出到Excel中

    1.将PHPExcel插件放在项目中,本人位置是ThinkPHP文件夹下,目录结构如下/ThinkPHP/Library//Vendor/...2.直接根据模型,配置三个变量即可使用./** * Ex ...

  9. OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 在数 ...

  10. Elasticsearch 注册windows服务后,服务启动失败,意外终止

    直接双击elasticsearch.bat可以成功启动,注册成服务后就启动失败 从网上查找问题,发现是jdk版本的问题,用ES自带的jdk就可以启动成功. 默认ES会先找JAVA_HOME环境变量,如 ...