fix: button loading does not disappear when the operation submit failed (#1698)

* fix: button loading does not disappear when the view operation submission failed

* fix: add field button loading

* refactor: code improve
This commit is contained in:
katherinehhh 2023-04-17 17:20:35 +08:00 committed by GitHub
parent 12f95810d0
commit eeb07112c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 38 deletions

View File

@ -201,6 +201,7 @@ const useCreateCollection = (schema?: any) => {
async run() { async run() {
field.data = field.data || {}; field.data = field.data || {};
field.data.loading = true; field.data.loading = true;
try {
await form.submit(); await form.submit();
const values = cloneDeep(form.values); const values = cloneDeep(form.values);
if (schema?.events?.beforeSubmit) { if (schema?.events?.beforeSubmit) {
@ -213,6 +214,7 @@ const useCreateCollection = (schema?: any) => {
} }
delete values.id; delete values.id;
delete values.autoCreateReverseField; delete values.autoCreateReverseField;
await resource.create({ await resource.create({
values: { values: {
logging: true, logging: true,
@ -225,6 +227,9 @@ const useCreateCollection = (schema?: any) => {
field.data.loading = false; field.data.loading = false;
refresh(); refresh();
await refreshCM(); await refreshCM();
} catch (error) {
field.data.loading = false;
}
}, },
}; };
}; };

View File

@ -148,12 +148,16 @@ const useCreateCollectionField = () => {
delete values.reverseField; delete values.reverseField;
} }
delete values.autoCreateReverseField; delete values.autoCreateReverseField;
try {
await resource.create({ values }); await resource.create({ values });
ctx.setVisible(false); ctx.setVisible(false);
await form.reset(); await form.reset();
field.data.loading = false; field.data.loading = false;
refresh(); refresh();
await refreshCM(); await refreshCM();
} catch (error) {
field.data.loading = false;
}
}, },
}; };
}; };

View File

@ -136,6 +136,7 @@ const useSyncFromDatabase = () => {
await form.submit(); await form.submit();
field.data = field.data || {}; field.data = field.data || {};
field.data.loading = true; field.data.loading = true;
try {
await api.resource(`collections`).setFields({ await api.resource(`collections`).setFields({
filterByTk, filterByTk,
values: form.values, values: form.values,
@ -145,6 +146,9 @@ const useSyncFromDatabase = () => {
field.data.loading = false; field.data.loading = false;
refresh(); refresh();
await refreshCM(); await refreshCM();
} catch (error) {
field.data.loading = false;
}
}, },
}; };
}; };