This commit is contained in:
lb
2023-08-28 13:30:29 +08:00
parent 3656a92f63
commit 9dc580ddd2
2 changed files with 15 additions and 6 deletions

View File

@@ -114,6 +114,7 @@ export default {
formLoading: true,
optionListOf: {},
uploadedFileList: [],
dataLoaded: false,
};
},
computed: {
@@ -125,7 +126,8 @@ export default {
},
form: {
get() {
return this.dataForm;
if (this.dataLoaded) return this.dataForm;
else return {}
},
set(val) {
console.log('set form', val);
@@ -162,7 +164,7 @@ export default {
return response.data;
},
async handleOptions(trigger = 'monuted') {
console.log("[dialogForm:handleOptions]")
console.log('[dialogForm:handleOptions]');
const promiseList = [];
this.rows.forEach((cols) => {
cols.forEach((opt) => {
@@ -176,11 +178,12 @@ export default {
} else if (opt.url) {
// 如果有 depends则暂时先不获取注册一个watcher
if (opt.depends) {
console.log("[handleOptions] setting watch")
console.log('[handleOptions] setting watch');
this.$watch(
() => this.form[opt.depends],
(id) => {
console.log(opt.depends, 'changed')
console.log('<', opt.depends, '>', 'changed', id);
if (id == null) return;
// 清空原有选项
this.form[opt.prop] = null;
// 获取新的选项
@@ -196,6 +199,9 @@ export default {
}))
);
});
},
{
immediate: true,
}
);
return;
@@ -231,6 +237,8 @@ export default {
});
});
console.log('[dialogForm:handleOptions] done!');
// 如果是 watch 触发的,不需要执行进一步的请求
if (trigger == 'watch') {
this.formLoading = false;
@@ -239,6 +247,7 @@ export default {
try {
await Promise.all(promiseList.map((fn) => fn()));
this.formLoading = false;
this.dataLoaded = true;
// console.log("[dialogForm:handleOptions:optionListOf]", this.optionListOf)
} catch (error) {
console.log('[dialogForm:handleOptions:error]', error);