fix: apikey form value diff

This commit is contained in:
jialin
2025-11-21 20:41:20 +08:00
parent f49001b742
commit 79442a6a6c
3 changed files with 29 additions and 5 deletions
@@ -54,6 +54,11 @@ const AllowModelsForm: React.FC<{
} catch (error) {}
};
const handleAllowTypeChange = (e: any) => {
const value = e.target.value;
onValuesChange?.({ allowed_type: value }, form.getFieldsValue());
};
useEffect(() => {
getModelList();
}, [action, currentData]);
@@ -68,6 +73,7 @@ const AllowModelsForm: React.FC<{
style={{ marginBottom: 8 }}
>
<Radio.Group
onChange={handleAllowTypeChange}
options={[
{
label: intl.formatMessage({ id: 'apikeys.models.all' }),
@@ -134,14 +134,24 @@ const AddModal: React.FC<AddModalProps> = ({
setShowKey(false);
};
const customEqual = (objValue: any, othValue: any) => {
if (_.isArray(objValue) && _.isArray(othValue)) {
return _.isEmpty(_.xor(objValue, othValue));
}
return undefined;
};
const handleOnValuesChange = async (changedValues: any, allValues: any) => {
const initialValues = cacheFormRef.current;
await new Promise((resolve) => {
setTimeout(resolve, 100);
});
console.log('initialValues', initialValues, allValues);
if (
_.isEqual(initialValues, _.pick(allValues, Object.keys(initialValues)))
_.isEqualWith(
initialValues,
_.pick(allValues, Object.keys(initialValues)),
customEqual
)
) {
setIsChanged(false);
} else {
@@ -259,7 +269,6 @@ const AddModal: React.FC<AddModalProps> = ({
name="addAPIKey"
form={form}
onFinish={handleOnOk}
onValuesChange={handleOnValuesChange}
preserve={false}
>
{!showKey && (