• 【VUE】3.表单操作


    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

  • 相关阅读:
    Red5/FMS视频直播带宽计算
    基于NPOI开源框架写的ExcelHelper
    Using C# 4.0 and dynamic to parse JSON
    跟我学MVVM模式开发
    supermap使用代码示例(GIS)
    使用OpenXML将Excel内容读取到DataTable中
    ADO 数据类型转换表
    I don't like Regex...
    将Datatable转Excel少于4笔时汉字乱码4/26
    记录宝宝成长脚印3/31
  • 原文地址:https://www.cnblogs.com/totoro-cat/p/12916618.html
Copyright © 2020-2023  润新知