大飞_dafei

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

vue项目中解决文件上传 change事件只执行一次的问题

vue项目中解决文件上传  change事件只执行一次的问题

文件上传第一次上传一个文件后,再次上传这个文件,无法执行change事件,

01) 解决办法,借助v-if

02) 使用 Ant Design Vue 官方的 upload

demo:

复制代码
<template>
    <div>
        <h3>这里是需求页面</h3>
        <input id="fileUpload" type="file" name="fileUpload"
               accept=".xls,.xlsx,.pdf,.txt,.doc,.docx,.jpg,.gif,.png,.ppt,.pptx" multiple
               style="" @change="changesFile" v-if="isShowFile" />
        <a-button ghost class="bts" type="primary" size="small" icon="plus" @click="addFiles">新增
        </a-button>
    </div>
</template>
<script>
    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);
    
    export default {
        components:{},
        data() {
            return {
                isShowFile:true, //是否展示文件,选择上传
            }
        },
        methods: {
            // 新增文档
            addFiles(){
                // $('#fileUpload').click();
                document.getElementById("fileUpload").click();
            },
            changesFile(){
                this.isShowFile = false;
                const formData = new FormData();
                const fileObj=document.getElementById("fileUpload").files[0];
                console.log(fileObj.size);
                if(fileObj!="undefined"){
                    this.$post("https://www.mocky.io/v2/5cc8019d300000980a055e76", formData).then(res => {
                        this.isShowFile = true;
                        console.log("eeeeee");
                    });
                   
                }
            },
        }
    };
</script>
复制代码

 

 

posted on   大飞_dafei  阅读(2094)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示