zy-react-library/hooks/useIsExistenceDuplicateSele.../index.js

21 lines
568 B
JavaScript
Raw Normal View History

2025-10-22 14:43:42 +08:00
import { message as antdMessage } from "antd";
import { uniqBy } from "lodash-es";
/**
* 检查数组中是否存在重复项
*/
2025-11-18 15:26:31 +08:00
export default function useIsExistenceDuplicateSelection() {
2025-11-18 15:29:16 +08:00
const isExistenceDuplicateSelection = (options) => {
2025-11-18 15:26:31 +08:00
const { data, key, message = "存在重复项,请勿重复选择" } = options;
2025-11-27 15:23:34 +08:00
return new Promise((resolve) => {
2025-11-18 15:26:31 +08:00
if (uniqBy(data, key).length !== data.length) {
antdMessage.error(message);
}
else {
resolve();
}
});
2025-11-27 15:23:34 +08:00
};
2025-11-18 15:29:16 +08:00
return { isExistenceDuplicateSelection };
2025-10-22 14:43:42 +08:00
}