fix: 修复开关组件加载未生效

This commit is contained in:
xlsea 2024-04-25 22:14:58 +08:00
parent 0535fad50b
commit e7649b69f7
2 changed files with 7 additions and 4 deletions

View File

@ -14,7 +14,7 @@ const props = withDefaults(defineProps<Props>(), {
});
interface Emits {
(e: 'fetch', value: Api.Common.EnableStatusNumber): void;
(e: 'fetch', value: Api.Common.EnableStatusNumber, callback: () => void): void;
}
const emit = defineEmits<Emits>();
@ -31,8 +31,9 @@ watch(
const handleUpdateValue = (value: Api.Common.EnableStatusNumber) => {
loading.value = true;
emit('fetch', value);
loading.value = false;
emit('fetch', value, () => {
loading.value = false;
});
};
</script>
@ -40,6 +41,7 @@ const handleUpdateValue = (value: Api.Common.EnableStatusNumber) => {
<NSwitch
:value="active"
:loading="loading"
:rubber-band="false"
:checked-value="1"
:unchecked-value="0"
@update:value="handleUpdateValue"

View File

@ -56,12 +56,13 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
align: 'center',
minWidth: 120,
render: row => {
const fetchFn = async (jobStatus: Api.Common.EnableStatusNumber) => {
const fetchFn = async (jobStatus: Api.Common.EnableStatusNumber, callback: () => void) => {
const { error } = await fetchUpdateJobStatus({ id: row.id!, jobStatus });
if (!error) {
row.jobStatus = jobStatus;
window.$message?.success($t('common.updateSuccess'));
}
callback();
};
return (