19 lines
		
	
	
		
			495 B
		
	
	
	
		
			JavaScript
		
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			495 B
		
	
	
	
		
			JavaScript
		
	
	
| 
								 | 
							
								import { message as antdMessage } from "antd";
							 | 
						||
| 
								 | 
							
								import { uniqBy } from "lodash-es";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 检查数组中是否存在重复项
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export default function useIsExistenceDuplicateSelection(options) {
							 | 
						||
| 
								 | 
							
								  const { data, key, message = "存在重复项,请勿重复选择" } = options;
							 | 
						||
| 
								 | 
							
								  return new Promise((resolve, reject) => {
							 | 
						||
| 
								 | 
							
								    if (uniqBy(data, key).length !== data.length) {
							 | 
						||
| 
								 | 
							
								      antdMessage.error(message);
							 | 
						||
| 
								 | 
							
								      reject(new Error(message));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else {
							 | 
						||
| 
								 | 
							
								      resolve();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								}
							 |