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 "返回需要上传的地址";
}
}
2.组件设计时,并不考虑改变原始值。 并且Vue的一些机制导致了这个问题
<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()
})
})
}
}