코딩/Flutter
[flutter] 34... Get.snackbar 다중 알림 방지
레이첼 맥
2023. 2. 2. 16:49
개인 프로젝트를 새롭게 시작하고
구현중에 있다.
현재 UI는 다 그렸는데 이제 DB 작업만 남았다..
앱 개발자를 준비하면 프론트, 백 둘다 빡시게 준비해야되는건가,,,
어렵다,,
오늘은 오늘 구현중 알게된 신박한 기능하나 소개하려고한다.
나는 보통 GetX를 이용하여 상태관리를 하고 있는데
수 많은 Get의 기능중
snackbar 이다.
간단한 사용법은
Get.snackbar("저장 실패", "빈칸 없이 채워주세요",
colorText: Mycolor().snackbarText,
snackPosition: SnackPosition.TOP,
backgroundColor: Mycolor().snackbarBg,
icon: const Icon(Icons.warning_amber));
이며 설명이 필요한 부분은 따로 없어보인다.
이렇게까지 구현하고 테스트 해봤는데
사진과 같이 버튼을 막누르면 그 횟수만큼 계속해서 창이 나온다는점이다.
이를 해결하기 위해선
isSnackbarOpen를 써주면 된다.
if (Get.isSnackbarOpen) {
} else {
Get.snackbar("저장 실패", "빈칸 없이 채워주세요",
colorText: Mycolor().snackbarText,
snackPosition: SnackPosition.TOP,
backgroundColor: Mycolor().snackbarBg,
icon: const Icon(Icons.warning_amber));
}
코드와 같이 If문을 한번 걸어 현재 snackbar가 떠있는 상황인지 확인후 기능을 수행하도록
바꿔주면 아래와같이 해결된 결과를 확인할 수 있다.