ElementUI でのアップロード ファイル フォームの検証

ファイルがアップロードされていません

 

ファイルが正常にアップロードされました

上記の効果を達成する方法:

1. まず第一に、el-uoload には多くの関数フックがあります。on-change は、ファイルのステータスが変更されたときにフックを示すためのフィードバック ファイルのアップロードに適しています。on-remove フックは、このファイルのステータスを削除するときです。リストから。

2. 一般的に使用される validate メソッドに加えて、el-form の検証ルールを変更することができます。ここでは、validateField を使用して一部のフォーム フィールドを検証します。

コード:

<template>
	<el-form ref="exampleForm" :model="formModel" :rules="rules">
    	<el-form-item label="上传文件" prop="file">
        	<el-upload 
            	 class="upload-demo"
                 ref="upload"
                :action="fileUploadUrl"
                :auto-upload="false"
                :on-change="fileChange"
                :on-remove="fileRemove"
                :file-list="fileList"
                :limit="1"
                accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf">
                <el-button slot="trigger" type="primary" size="small">选择文件</el-button>
                <span slot="tip" style="margin-left: 20px">只能上传doc/docx/xls/xlsx/ppt/pptx/pdf文件</span>
    		</el-upload>
    	</el-form-item>
    </el-form>
</template>

<script>
export default {
    
    data () {
        return {
            formModel: {
                file: null
            },
            rules: {
                file: [
                    {
                        required: true,
                        message: '请至少选择一个产品标签',
                        trigger: 'change'
                    }
                ]
            },
            
        }
    },
    methods: {
        fileChange(uploadFile, fileList) {
            this.formModel.file = uploadFile
            
            if (fileList.length !== 0) {
                this.$refs.exampleForm.validateField('file')
            }
        },
        fileRemove(uploadFile, fileList) {
            if (fileList.length === 0) {
                this.formModel.file = null
                this.$refs.exampleForm.validateField('file')
            }
        }
    }
}
</script>

上記のコードのアイデア:

ファイルをアップロードするときは、on-change フックを通じてアップロードされたファイルを保存し、validateField 関数を通じて el-upload にバインドされている prop フィールドを確認します。

ファイル リスト内のファイルが削除されるとき、on-remove フックによって fileList が空の場合は、対応する prop を空に設定し、validateField 関数を使用して、上記のように el-upload にバインドされた prop フィールドを確認します。

 

おすすめ

転載: blog.csdn.net/maowencai/article/details/127633177