json参数无论是放在外部请求过来还是直接写在data中,点击上传无法拿到按钮调整后的最新json,应该就时data数据更新问题,请各位指教下
template
<el-dialog
class="setModel"
title="模型上传"
:visible.sync="dialogVisible"
width="30%"
>
<el-select
v-model="value"
@change="selectChange"
placeholder="请选择渲染模式"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<P></P>
<el-upload
class="upload-demo"
ref="upload"
:action="uploadUrl"
:headers="token"
accept=".rvt,.rfa,.zip,.glzip,.rar,.ifc,.stp,.FBX,.fbx"
:before-upload="handleUpload"
:on-change="handleChange"
:on-success="onSuccess"
:on-error="error"
:limit="5"
:on-exceed="handleExceed"
:file-list="fileList"
:auto-upload="false"
>
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<el-button
style="margin-left: 10px"
size="small"
type="success"
@click="submitUpload"
>上传到服务器</el-button
>
<div slot="tip" class="el-upload__tip">
只能上传模型文件且不超过600MB
</div>
</el-upload>
</el-dialog>
script
export default {
data() {
return {
value: "",
options: [
{
value: "0",
label: "着色",
},
{
value: "1",
label: "真实",
},
],
dialogVisible: false,
statusVisible: false,
fileList: [],
token: {
//导入引擎授权token
Token: this.configJson.engineToken,
},
//导入接口地址
uploadUrl:
this.configJson.engineApiUrl + "/api/app/model/upload-file?input=" + this.inputJson,
//转码配置
inputJson: "",
};
},
methods: {
/**
* @func 下拉列表改变事件
* @desc
* @param {}
* @return {}
*/
selectChange(value) {
//this.inputJson.ConfigJson.style = value;
this.configJson.inputJsonFile.ConfigJson.style = value;
},
/**
* @func 上传文件之前的回调
* @desc
* @param {}
* @return {}
*/
handleUpload(file) {
this.configJson.inputJsonFile.Name = file.name;
if (file.size / 1024 / 1024 > 601) {
this.$message.warning("模型大小超过限制");
return false;
}
},
/**
* @func 超出文件个数回调
* @desc
* @param {}
* @return {}
*/
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
handleChange(file, fileList) {},
/**
* @func 文件上传成功回调
* @desc
* @param {}
* @return {}
*/
onSuccess(response) {
this.$message.warning(response.codeMsg);
},
/**
* @func 失败回调
* @desc
*/
error() {
this.$message.warning("上传失败");
},
/**
* @func 提交文件到服务器
* @desc
* @param {}
* @return {}
*/
submitUpload() {
this.uploadUrl =
this.uploadUrl + JSON.stringify(this.configJson.inputJsonFile);
this.$refs.upload.submit();
},
},
beforeUpdate() {
console.log(this.uploadUrl);
},
};
uploadUrl:
this.configJson.engineApiUrl +
"/api/app/model/upload-file?input=" +
this.inputJson,
inputJson这个值在什么时候赋值上在什么时候拿去
没看到inputJson被赋值的地方呀
//导入接口地址
uploadUrl:
this.configJson.engineApiUrl + "/api/app/model/upload-file?input=" + this.inputJson,
//转码配置
inputJson: "",
inputJson都在这个定义的上面肯定取不到值的啊,你可以在created或mounted中在赋值uploadUrl