기본 confirm()보다 더 세련된 확인창을 만들고 싶다면 SweetAlert2를 추천합니다. 이 글에서는 확인/취소 버튼을 활용한 조건 분기와 콜백 처리 방법을 예제로 설명합니다. 실무에서도 바로 적용할 수 있어요!
기존 confirm()의 한계
// 기본 예제
if (confirm("삭제할까요?\n\n삭제 후 복구는 불가능합니다.")) {
deleteItem(); // '확인' 선택 시 실행
} else {
editItem(); // '취소' 선택 시 실행
}
// 실 사용 코드
if (!confirm("삭제할까요?\n\n삭제 후 복구는 불가능합니다.")) return false;
JavaScript- 텍스트로만 표시 됩니다.
- UI/UX가 떨어집니다.
- 커스텀이 거의 불가능합니다.
SweetAlert2 confirm 예제
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
HTMLSwal.fire({
title: '정말 삭제하시겠어요?',
text: '이 작업은 되돌릴 수 없습니다.',
icon: 'warning',
showCancelButton: true,
confirmButtonText: '삭제하기',
cancelButtonText: '취소',
}).then((result) => {
if (result.isConfirmed) {
// 삭제 로직 실행
Swal.fire({text:'삭제 완료됨'});
} else {
// 취소되었을 때
Swal.fire({text:'삭제 취소됨'});
}
});
JavaScript- title : 상단 제목
- text : 본문 설명
- icon : 아이콘: success, error, warning, info, question
- showCancelButton : 취소 버튼 표시 여부
- confirmButtonText : 확인 버튼 텍스트
- cancelButtonText : 취소 버튼 텍스트
- then(result) : 사용자가 선택한 후 처리되는 부분
스타일 커스터마이징 팁
Swal.fire({
title: '정말 삭제하시겠어요?',
text: '이 작업은 되돌릴 수 없습니다.',
icon: 'warning',
showCancelButton: true,
confirmButtonText: '삭제하기',
cancelButtonText: '취소',
confirmButtonColor: '#d33',
cancelButtonColor: '#3085d6',
}).then((result) => {
if (result.isConfirmed) {
// 삭제 로직 실행
Swal.fire({text:'삭제 완료됨'});
} else {
// 취소되었을 때
Swal.fire({text:'삭제 취소됨'});
}
});
JavaScript- 브랜드 컬러에 맞춰 버튼 스타일링 가능
- confirmButtonColor : 확인 버튼의 색상 변경
- cancelButtonColor : 취소 버튼의 색상 변경
- 예제에서는 정상적으로 버튼 색상이 변경 안되는 거 같습니다. 워드프레스의 CSS와 충돌이 발생하는 거 같습니다. 이건 가볍게 무시하셔도 될 거 같습니다.
✅마무리
sweetalert2는 confirm보다 훨씬 UI 면에서 세련되었습니다. 사용자 경험도 향상되며, 비동기 처리, 조건 분기, 커스텀 모두 지원됩니다. 반응형도 완벽 지원으로 전 이제 이것만 사용하고 있습니다. 다음 시간에는 입력값에 대한 처리 부분도 소개해 드리겠습니다.
- 👉 관련 포스팅 : 🚩예쁜 alert 모달창 사용법 SweetAlert2
- 👉 관련 포스팅 : SWAL 사용법! SweetAlert2 예쁜 팝업 정복하기
- 👉 관련 포스팅 : 워드프레스 아스트라 테마 상·하단 애드센스 광고 넣는 법