Quellcode durchsuchen

fix: list compare wrong

GyDi vor 2 Jahren
Ursprung
Commit
aed1bdff5a
1 geänderte Dateien mit 4 neuen und 3 gelöschten Zeilen
  1. 4 3
      src/components/setting/mods/clash-field-viewer.tsx

+ 4 - 3
src/components/setting/mods/clash-field-viewer.tsx

@@ -76,12 +76,13 @@ const ClashFieldViewer = ({ handler }: Props) => {
     setOpen(false);
 
     const oldSet = new Set([...(data?.valid || []), ...enhanceUse]);
-    const curSet = new Set(selected.concat([...oldSet]));
+    const curSet = new Set(selected);
+    const joinSet = new Set(selected.concat([...oldSet]));
 
-    if (curSet.size === oldSet.size) return;
+    if (curSet.size === oldSet.size && curSet.size === joinSet.size) return;
 
     try {
-      await changeProfileValid([...new Set(selected)]);
+      await changeProfileValid([...curSet]);
       mutate();
       Notice.success("Refresh clash config", 1000);
     } catch (err: any) {