ant-design-vue 之form表單使用


ant-design-vue 之form表單使用

主要代碼: v-decorator, setFieldsValue, getFieldsValue, resetFields, validateFields

this.form.setFieldsValue({"username":['username_ddddd'],"nickname":['nickname_ddddd']}); //設置值   
this.form.setFieldsValue({"username": 'username_ddddd', "nickname": 'nickname_ddddd'}); //設置值

this.form.getFieldsValue();// 獲取所有值
this.form.getFieldsValue(['username','nickname']); // 獲取某一個值

this.form.resetFields();  // 重置表單值

this.form.validateFields((err,fieldsValue) => {  // 校驗所有的值
  if (!err) {
    console.log(fieldsValue); //獲取數據 {nickname: "實際值", username: "實際值"}
  }else {
    console.log(err);
  }
});

this.form.validateFields(['nickname'],(err,fieldsValue)=>{ // 校驗某個值
  if (!err) {
    console.log(fieldsValue); //獲取數據 {nickname: "實際值"}
  }else {
    console.log(err);
  }
});

 

  

 

demo 練習

<template>
    <div>
        <a-form :form="form">

            <a-form-item label="Name">
                <a-input placeholder="Please input your name"
                         v-decorator="username" />
            </a-form-item>

            <a-form-item  label="Nickname">
                <a-input  placeholder="Please input your nickname"
                          v-decorator="['nickname',{ rules: [{ required: true, message: 'Please input your nickname' }] },]"/>
            </a-form-item>

            <button @click="fei_form">form功能測試</button>
        </a-form>
    </div>
</template>
<script>

/* 這是ant-design-vue */
import Vue from 'vue'
import Antd, { message,Select } from 'ant-design-vue'  //這是ant-design-vue
import 'ant-design-vue/dist/antd.css'
Vue.use(Antd);
/* 這是ant-design-vue */


export default {
    data() {
        return {
            form: this.$form.createForm(this, { name: 'form_rule' }), // 定義form
            username: ['username', {rules: [{required: true, message: 'Please input your username'}]}]
        }
    },
    methods: {

        fei_form() {

            this.form.setFieldsValue({"username":['username_ddddd'],"nickname":['nickname_ddddd']}); //設置值

            this.form.getFieldsValue();// 獲取所有值
            this.form.getFieldsValue(['username','nickname']); // 獲取某一個值

            this.form.resetFields();  // 重置表單值

            this.form.validateFields((err,fieldsValue) => {  // 校驗所有的值
                if (!err) {
                    console.log(fieldsValue); //獲取數據 {nickname: "實際值", username: "實際值"}
                }else {
                    console.log(err);
                }
            });

            this.form.validateFields(['nickname'],(err,fieldsValue)=>{ // 校驗某個值
                if (!err) {
                    console.log(fieldsValue); //獲取數據  {nickname: "實際值"}
                }else {
                    console.log(err);
                }
            });

        }
    },
    watch: {

    },
};
</script>

<style scoped>

</style>

setFields 設置一組輸入控件的值與錯誤狀態 

this.form.setFields({
    "username": {
        value: "xxx_可以給一個默認值",
        errors: [{"message": "請選擇輸入用戶名"}]
    }
});

 

長度校驗

export default {
    data() {
        return {
            form: this.$form.createForm(this, { name: 'form_rule' }), // 定義form
            // username: ['username', {rules: [{required: true, message: 'Please input your username'}]}],
            username: ['username', {
                initialValue: '', // 默認值
                rules: [
                    {required: true, message: 'Please input your username'}, // 必填校驗
                    {type: 'string', message: '最大長度50', max:50,}, // 長度校驗
                ]
        }],
        }
    },
}

 

 

 

 

 

Form 表單

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM