본문 바로가기
728x90

전체 글551

GetX dialog, bottom sheet 에 controller binding 하기! page 에 바인딩하는 것은 get.to 에서 해줘도 되고 router 따로 만들어서 주입시켜줘도 된다. bottomsheet와 dialog 같은 경우는 어디다가 해줘야할까? 일단 Get.put(GetxController()); Get.bottomsheet(bottomsheet); 이런식으로 코드를 짜면 bottom sheet가 없어지더라도 super 페이지가 닫히지 않으면 controller 가 닫히지 않는다. 빌드 위치가 아니면 또 위와 같은 문제가 발생한다. 좋은 것은 빌드 될 때, put 넣어주면 stless 로 bottomsheet 사라지면서 자동으로 controller가 제거가 된다.! 내가 생각할 때 제일 동작성 좋은 위치 @override Widget build(BuildContext co.. 2022. 8. 11.
TextField filtering https://velog.io/@adbr/flutter-TextFormField-특정-문자-제한-Restrict-Special-Character-Input-Flutter [flutter] TextFormField 특정 문자 제한 (Restrict Special Character Input Flutter) + flutter version up TextFormField inputFormatters 이용 velog.io 해당 블로그를 참고하여 FilteringTextInputFormatter.deny(RegExp('[-.]')), 이걸 만들었다. Texttype을 아래와 같이 잡아도 안되더라. 그래서 아예 입력 안되게 만듬.. keyboardType: const TextInputType.numberWithOp.. 2022. 8. 10.
if (contain('')) 은 true이다. 이걸 생각 못하고 있었는데,, 그래서 if(searchTextEditController.text.isEmpty){ searchCurrencyList.value = currencyList; } else{ searchCurrencyList.value = currencyList.where((e) => e.countryName.contains(searchTextEditController.text)).toList(); } 이 코드를 아래와 같이 간단하게 변경할 수 있었다. 어차피 contain(searchTextEditController.text)는 전체를 반환하기 때문에 굳이 if로 나눌 필요가 없었던 것이었다. searchCurrencyList.value = currencyList .where((e) => e.. 2022. 8. 10.
getX로 debounce 쉽게 쓰는 방법 이렇게 하면 매우 편하게 debounce를 쓸 수 있다. searchTextEditController.addListener(() { logger.d('작동할까 ${searchTextEditController.text}'); searchText.value = searchTextEditController.text; }); debounce(searchText, (_) { print("debouce$_"); }, time: Duration(milliseconds: 100)); obs 객채를 debounce에 넣어주고 duration만 넣어주면 끝! 아.. debounce해주려고 Timer 쓰지 않아도 된다. 행복!ㅠㅠ 2022. 8. 10.
728x90