작성
·
217
0
강의에서 팁을 주신대로
firestore에 올리는 동안 progressindicator를 띄울려면 어떤 방식으로 띄워야하나요 ??
progressindicator관련 참고할 수 있는 예시 코드가 현재까지
if(!snapshot.hasData){
// 데이터가 없으면 progressbar 반복
return Center(child: CircularProgressIndicator(),);
}
이거뿐인데요
final storageTaskSnapshot = await task.onComplete;final storageTaskSnapshot = await task.onComplete;
위 코드를 변형하여 firestore의 작업이 끝날때까지 기다린다. 라는 코드를 쓰서 progressindicator를 나타내는 것같습니다만, 관련 메소드를 못찾는 상황입니다.
final firebaseTaskSnapshot 도 없는 상황이고요
도움 주시면 감사드리겠습니다
답변 2
0
0
힌트를 드리자면 다음과 같은 방식으로 로딩중임을 저장할 전역 변수를 만들어 두고
onPressed 속성에 실행될 코드를 async 로 선언하고
업로드 진행할 함수 앞에 await 붙여서 대기하도록 만들고
앞 뒤로 isProgressing 값을 변경하며 setState 하여 UI를 다시 그리도록 합니다.
그리고 위 progressIndicator 예시 코드에서 if 문 안에 isProgressing 을 조건으로 넣으면 되겠지요
var isProgressing = false;
...
FlatButton(
onPressed: () async {
setState() {
isProgressing = true;
}
await _uploadFile(context);
setState() {
isProgressing = false;
}
},
child: Text('공유'),
)