fix: 견적 선택 다이얼로그 개선
- actions.ts: for_order=true 파라미터 추가 (수주 전환된 견적 제외) - QuotationSelectDialog: 두 번 호출되는 문제 수정 - 두 개의 useEffect를 하나로 통합 - 초기 로드는 즉시, 검색은 디바운스 적용
This commit is contained in:
@@ -74,21 +74,17 @@ export function QuotationSelectDialog({
|
||||
}
|
||||
}, []);
|
||||
|
||||
// 다이얼로그 열릴 때 데이터 로드
|
||||
useEffect(() => {
|
||||
if (open) {
|
||||
setSearchTerm("");
|
||||
fetchQuotations();
|
||||
}
|
||||
}, [open, fetchQuotations]);
|
||||
|
||||
// 검색어 변경 시 디바운스 적용하여 API 호출
|
||||
// 다이얼로그 열릴 때 데이터 로드 + 검색어 변경 시 디바운스 적용
|
||||
useEffect(() => {
|
||||
if (!open) return;
|
||||
|
||||
// 검색어가 빈 문자열이면 즉시 호출 (다이얼로그 열림 시)
|
||||
// 검색어가 있으면 디바운스 적용
|
||||
const delay = searchTerm === "" ? 0 : 300;
|
||||
|
||||
const timer = setTimeout(() => {
|
||||
fetchQuotations(searchTerm || undefined);
|
||||
}, 300);
|
||||
}, delay);
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, [searchTerm, open, fetchQuotations]);
|
||||
|
||||
Reference in New Issue
Block a user