refactor(ui): clean code

This commit is contained in:
Fu Diwei 2024-12-25 23:28:42 +08:00
parent 1184e52ba9
commit 4008c2bfd5
4 changed files with 26 additions and 44 deletions

View File

@ -40,7 +40,11 @@ export type AccessEditFormProps = {
onValuesChange?: (values: AccessEditFormFieldValues) => void;
};
export type AccessEditFormInstance = FormInstance<AccessEditFormFieldValues>;
export type AccessEditFormInstance = {
getFieldsValue: () => ReturnType<FormInstance<AccessEditFormFieldValues>["getFieldsValue"]>;
resetFields: FormInstance<AccessEditFormFieldValues>["resetFields"];
validateFields: FormInstance<AccessEditFormFieldValues>["validateFields"];
};
const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>(({ className, style, disabled, initialValues, preset, onValuesChange }, ref) => {
const { t } = useTranslation();
@ -131,26 +135,12 @@ const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>((
useImperativeHandle(ref, () => {
return {
getFieldValue: (name) => formInst.getFieldValue(name),
getFieldsValue: (...args) => {
if (Array.from(args).length === 0) {
return formInst.getFieldsValue(true);
}
return formInst.getFieldsValue(args[0] as any, args[1] as any);
getFieldsValue: () => {
return formInst.getFieldsValue(true);
},
resetFields: (fields) => {
return formInst.resetFields(fields);
},
getFieldError: (name) => formInst.getFieldError(name),
getFieldsError: (nameList) => formInst.getFieldsError(nameList),
getFieldWarning: (name) => formInst.getFieldWarning(name),
isFieldsTouched: (nameList, allFieldsTouched) => formInst.isFieldsTouched(nameList, allFieldsTouched),
isFieldTouched: (name) => formInst.isFieldTouched(name),
isFieldValidating: (name) => formInst.isFieldValidating(name),
isFieldsValidating: (nameList) => formInst.isFieldsValidating(nameList),
resetFields: (fields) => formInst.resetFields(fields),
setFields: (fields) => formInst.setFields(fields),
setFieldValue: (name, value) => formInst.setFieldValue(name, value),
setFieldsValue: (values) => formInst.setFieldsValue(values),
submit: () => formInst.submit(),
validateFields: (nameList, config) => {
const t1 = formInst.validateFields(nameList, config);
const t2 = configFormInst.validateFields(undefined, config);

View File

@ -62,13 +62,13 @@ const AccessEditModal = ({ data, loading, trigger, preset, ...props }: AccessEdi
throw "Invalid props: `data`";
}
await createAccess(formRef.current!.getFieldsValue(true) as AccessModel);
await createAccess(formRef.current!.getFieldsValue() as AccessModel);
} else if (preset === "edit") {
if (!data?.id) {
throw "Invalid props: `data`";
}
await updateAccess({ ...data, ...formRef.current!.getFieldsValue(true) } as AccessModel);
await updateAccess({ ...data, ...formRef.current!.getFieldsValue() } as AccessModel);
}
setOpen(false);

View File

@ -24,7 +24,11 @@ export type NotifyChannelEditFormProps = {
onValuesChange?: (values: NotifyChannelEditFormFieldValues) => void;
};
export type NotifyChannelEditFormInstance = FormInstance;
export type NotifyChannelEditFormInstance = {
getFieldsValue: () => ReturnType<FormInstance<NotifyChannelEditFormFieldValues>["getFieldsValue"]>;
resetFields: FormInstance<NotifyChannelEditFormFieldValues>["resetFields"];
validateFields: FormInstance<NotifyChannelEditFormFieldValues>["validateFields"];
};
const NotifyChannelEditForm = forwardRef<NotifyChannelEditFormInstance, NotifyChannelEditFormProps>(
({ className, style, channel, disabled, initialValues, onValuesChange }, ref) => {
@ -63,27 +67,15 @@ const NotifyChannelEditForm = forwardRef<NotifyChannelEditFormInstance, NotifyCh
useImperativeHandle(ref, () => {
return {
getFieldValue: (name) => formInst.getFieldValue(name),
getFieldsValue: (...args) => {
if (Array.from(args).length === 0) {
return formInst.getFieldsValue(true);
}
return formInst.getFieldsValue(args[0] as any, args[1] as any);
getFieldsValue: () => {
return formInst.getFieldsValue(true);
},
resetFields: (fields) => {
return formInst.resetFields(fields);
},
validateFields: (nameList, config) => {
return formInst.validateFields(nameList, config);
},
getFieldError: (name) => formInst.getFieldError(name),
getFieldsError: (nameList) => formInst.getFieldsError(nameList),
getFieldWarning: (name) => formInst.getFieldWarning(name),
isFieldsTouched: (nameList, allFieldsTouched) => formInst.isFieldsTouched(nameList, allFieldsTouched),
isFieldTouched: (name) => formInst.isFieldTouched(name),
isFieldValidating: (name) => formInst.isFieldValidating(name),
isFieldsValidating: (nameList) => formInst.isFieldsValidating(nameList),
resetFields: (fields) => formInst.resetFields(fields),
setFields: (fields) => formInst.setFields(fields),
setFieldValue: (name, value) => formInst.setFieldValue(name, value),
setFieldsValue: (values) => formInst.setFieldsValue(values),
validateFields: (nameList, config) => formInst.validateFields(nameList, config),
submit: () => formInst.submit(),
} as NotifyChannelEditFormInstance;
});

View File

@ -32,7 +32,7 @@ const NotifyChannel = ({ className, style, channel }: NotifyChannelProps) => {
await channelFormRef.current!.validateFields();
try {
setChannel(channel, channelFormRef.current!.getFieldsValue(true));
setChannel(channel, channelFormRef.current!.getFieldsValue());
setChannelFormChanged(false);
messageApi.success(t("common.text.operation_succeeded"));