优化useIsExistenceDuplicateSelection

master
LiuJiaNan 2025-11-18 15:26:31 +08:00
parent 2c1417109d
commit ac49cf7b3d
2 changed files with 22 additions and 14 deletions

View File

@ -10,9 +10,14 @@ interface UseIsExistenceDuplicateSelectionOptions<T> {
message?: string; message?: string;
} }
/**
*
*/
interface IsExistenceDuplicateSelectionFunction {
<T>(options: UseIsExistenceDuplicateSelectionOptions<T>): Promise<void>;
}
/** /**
* *
*/ */
export default function useIsExistenceDuplicateSelection<T>( export default function useIsExistenceDuplicateSelection(): IsExistenceDuplicateSelectionFunction;
options: UseIsExistenceDuplicateSelectionOptions<T>
): Promise<void>;

View File

@ -4,15 +4,18 @@ import { uniqBy } from "lodash-es";
/** /**
* 检查数组中是否存在重复项 * 检查数组中是否存在重复项
*/ */
export default function useIsExistenceDuplicateSelection(options) { export default function useIsExistenceDuplicateSelection() {
const { data, key, message = "存在重复项,请勿重复选择" } = options; const IsExistenceDuplicateSelection = (options) => {
return new Promise((resolve, reject) => { const { data, key, message = "存在重复项,请勿重复选择" } = options;
if (uniqBy(data, key).length !== data.length) { return new Promise((resolve, reject) => {
antdMessage.error(message); if (uniqBy(data, key).length !== data.length) {
reject(new Error(message)); antdMessage.error(message);
} reject(new Error(message));
else { }
resolve(); else {
} resolve();
}); }
});
}
return IsExistenceDuplicateSelection;
} }