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. 一个基于canvas的移动端图片编辑器

    欢迎使用 canvas_mobile_drag 项目地址:https://github.com/xiaosu95/canvas_mobile_drag 点击查看demo(在移动端上查看) 该插件是一款 ...

  2. SWPUCTF_2019_p1KkHeap

    SWPUCTF_2019_p1KkHeap 环境:ubuntu18 考点:UAF,沙箱逃逸 ubuntu18现在不能构造double free了!!! 所以我用patchelf来做 IDA逆一下 可以 ...

  3. B. Nauuo and Circle 解析(思維、DP)

    Codeforce 1172 B. Nauuo and Circle 解析(思維.DP) 今天我們來看看CF1172B 題目連結 題目 略,請直接看原題 前言 第一個該觀察的事情一直想不到,看了解答也 ...

  4. java关键字之abstract

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

  5. 获取url中查询字符串参数

    // 获取url中查询字符串参数 例如http://www.test.com?a=1&b=2 function RequestParamete() { var url = window.loc ...

  6. 【5】JMicro其于RSA及AES加密实现安全服务调用

    JMicro是基于Java实现的微服务平台,最近花了两个周未实现服务间安全调用支持. JMicro服务调用分两个部份,分别为内部服务间相互调用和外部客户端通过API网关调用JMicro集群内部服务,前 ...

  7. electron 实现文件下载管理器

    文件下载是我们开发中比较常见的业务需求,比如:导出 excel. web 应用文件下载存在一些局限性,通常是让后端将响应的头信息改成 Content-Disposition: attachment; ...

  8. python100实例

    实例001:数字组合 题目 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析 遍历全部可能,把有重复的剃掉. total=0 for i in range(1 ...

  9. 知识管理——得到CEO脱不花女士的一次分享

    知识管理--得到CEO脱不花女士的一次分享 近日,公司举办了一场"CKO首席知识官"研讨会,邀请到了得到APP的CEO脱不花女士做了一场精彩的分享,让我深受启发. 分享内容围绕3个 ...

  10. git clone克隆github仓库慢,问题解决

    导读 转载自:https://www.hangge.com/blog/cache/detail_2670.html 原因     由于国内网络问题,当我们使用 git clone 命令从 github ...