fix: 修复表单验证失效
This commit is contained in:
parent
bf075380e1
commit
97c5124213
@ -14,7 +14,7 @@ interface Props {
|
|||||||
const props = defineProps<Props>();
|
const props = defineProps<Props>();
|
||||||
|
|
||||||
interface Emits {
|
interface Emits {
|
||||||
(e: 'handleSubmit'): void;
|
(e: 'submitted'): void;
|
||||||
(e: 'update:modelValue', modelValue: boolean): void;
|
(e: 'update:modelValue', modelValue: boolean): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,19 +58,9 @@ watch(
|
|||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
);
|
);
|
||||||
|
|
||||||
const closeDrawer = () => {
|
|
||||||
visible.value = false;
|
|
||||||
emit('update:modelValue', false);
|
|
||||||
};
|
|
||||||
|
|
||||||
const onUpdateShow = (value: boolean) => {
|
const onUpdateShow = (value: boolean) => {
|
||||||
emit('update:modelValue', value);
|
emit('update:modelValue', value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSubmit = () => {
|
|
||||||
emit('handleSubmit');
|
|
||||||
closeDrawer();
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -90,10 +80,7 @@ const handleSubmit = () => {
|
|||||||
</template>
|
</template>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<NSpace :size="16">
|
<slot name="footer"></slot>
|
||||||
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
|
|
||||||
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
|
|
||||||
</NSpace>
|
|
||||||
</template>
|
</template>
|
||||||
</NDrawerContent>
|
</NDrawerContent>
|
||||||
</NDrawer>
|
</NDrawer>
|
||||||
|
@ -47,7 +47,7 @@ function createDefaultModel(): Model {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
type RuleKey = Extract<keyof Model, 'namespaceId' | 'groupName'>;
|
type RuleKey = Extract<keyof Model, 'namespaceId'>;
|
||||||
|
|
||||||
const rules: Record<RuleKey, App.Global.FormRule> = {
|
const rules: Record<RuleKey, App.Global.FormRule> = {
|
||||||
namespaceId: defaultRequiredRule
|
namespaceId: defaultRequiredRule
|
||||||
@ -85,12 +85,18 @@ watch(visible, () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<OperateDrawer v-model="visible" :title="title" @handle-submit="handleSubmit">
|
<OperateDrawer v-model="visible" :title="title" @submitted="handleSubmit">
|
||||||
<NForm ref="formRef" :model="model" :rules="rules">
|
<NForm ref="formRef" :model="model" :rules="rules">
|
||||||
<NFormItem :label="$t('page.groupConfig.namespaceId')" path="namespaceId">
|
<NFormItem :label="$t('page.groupConfig.namespaceId')" path="namespaceId">
|
||||||
<NInput v-model:value="model.namespaceId" :placeholder="$t('page.groupConfig.form.namespaceId')" />
|
<NInput v-model:value="model.namespaceId" :placeholder="$t('page.groupConfig.form.namespaceId')" />
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
</NForm>
|
</NForm>
|
||||||
|
<template #footer>
|
||||||
|
<NSpace :size="16">
|
||||||
|
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
|
||||||
|
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
|
||||||
|
</NSpace>
|
||||||
|
</template>
|
||||||
</OperateDrawer>
|
</OperateDrawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -66,6 +66,10 @@ function handleUpdateModelWhenEdit() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeDrawer() {
|
||||||
|
visible.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
async function handleSubmit() {
|
async function handleSubmit() {
|
||||||
await validate();
|
await validate();
|
||||||
// request
|
// request
|
||||||
@ -79,6 +83,7 @@ async function handleSubmit() {
|
|||||||
fetchEditNamespace({ id, name, uniqueId });
|
fetchEditNamespace({ id, name, uniqueId });
|
||||||
}
|
}
|
||||||
window.$message?.success($t('common.updateSuccess'));
|
window.$message?.success($t('common.updateSuccess'));
|
||||||
|
visible.value = false;
|
||||||
emit('submitted');
|
emit('submitted');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +96,7 @@ watch(visible, () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<OperateDrawer v-model="visible" :title="title" @handle-submit="handleSubmit">
|
<OperateDrawer v-model="visible" :title="title" @submitted="handleSubmit">
|
||||||
<NForm ref="formRef" :model="model" :rules="rules">
|
<NForm ref="formRef" :model="model" :rules="rules">
|
||||||
<NFormItem :label="$t('page.namespace.uniqueId')" path="uniqueId">
|
<NFormItem :label="$t('page.namespace.uniqueId')" path="uniqueId">
|
||||||
<NInput
|
<NInput
|
||||||
@ -104,6 +109,12 @@ watch(visible, () => {
|
|||||||
<NInput v-model:value="model.name" :placeholder="$t('page.namespace.form.name')" />
|
<NInput v-model:value="model.name" :placeholder="$t('page.namespace.form.name')" />
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
</NForm>
|
</NForm>
|
||||||
|
<template #footer>
|
||||||
|
<NSpace :size="16">
|
||||||
|
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
|
||||||
|
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
|
||||||
|
</NSpace>
|
||||||
|
</template>
|
||||||
</OperateDrawer>
|
</OperateDrawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -114,6 +114,12 @@ watch(visible, () => {
|
|||||||
<NSelect v-model:value="model.notifyType" :placeholder="$t('page.notifyRecipient.form.notifyType')" clearable />
|
<NSelect v-model:value="model.notifyType" :placeholder="$t('page.notifyRecipient.form.notifyType')" clearable />
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
</NForm>
|
</NForm>
|
||||||
|
<template #footer>
|
||||||
|
<NSpace :size="16">
|
||||||
|
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
|
||||||
|
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
|
||||||
|
</NSpace>
|
||||||
|
</template>
|
||||||
</OperateDrawer>
|
</OperateDrawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -222,6 +222,12 @@ watch(visible, () => {
|
|||||||
<NInput v-model:value="model.description" :placeholder="$t('page.notifyConfig.form.description')" />
|
<NInput v-model:value="model.description" :placeholder="$t('page.notifyConfig.form.description')" />
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
</NForm>
|
</NForm>
|
||||||
|
<template #footer>
|
||||||
|
<NSpace :size="16">
|
||||||
|
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
|
||||||
|
<NButton type="primary" @click="handleSubmit">{{ $t('common.save') }}</NButton>
|
||||||
|
</NSpace>
|
||||||
|
</template>
|
||||||
</OperateDrawer>
|
</OperateDrawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user