elementUi 上传文件实现action动态改变

elementUi有bug :action="url"不能动态改变

解决方法:

1.action是一个必填参数,且其类型为string,我们把action写成:action,然后后面跟着一个方法名,调用方法,返回你想要的地址,实现动态的去修改上传地址

方法一

<el-upload  :action="UploadUrl()"  :on-success="UploadSuccess" :file-list="fileList">

    <el-button size="small" type="primary" >点击上传</el-button>

</el-upload>

// js 代码在 methods中写入需要调用的方法

methods:{

    UploadUrl:function(){

        return "返回需要上传的地址";   

    } 

}

 

组件设计时,并不考虑改变原始值。 并且Vue的一些机制导致了这个问题

方法二:在:before-upload 中动态改变url值

当url为后台返回的数据时使用

<el-upload class="upload-demo" :action="url" :before-upload="test">

  <el-button size="small" type="primary">点击上传</el-button>

</el-upload>
data () {

      return {

        url: '123'

      };

    },

    methods: {

      test (file) {

        return new Promise((resolve, reject) => {

          this.$nextTick(() => {

            this.url = '321'       

            resolve()

          })

        })

      }

    }

 

posted @ 2020-07-02 10:37  叶子0321~  阅读(3641)  评论(1编辑  收藏  举报