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() }) }) } }