flutter

A value of type 'Future<dynamic>' can't be returned from the method '' because it has a return type of 'Widget'

햎피 2022. 7. 28. 11:24
반응형

위젯에서 showDialog를 리턴해주니 다음과 같은 에러가 나왔다.

A value of type 'Future<dynamic>' can't be returned from the method 'AddFriendDialog' because it has a return type of 'Widget'

 

인터넷에 검색해보니, showDialog가 async 함수이기 때문에 나는 에러라고 한다.

(dialog가 닫힐때까지 - 결과가 나올때까지 기다린다는 뜻)

그래서 showDialog의 closing bracket에 .then을 붙여주면 된다.

(.then의 의미 : 값을 받을때 )

 

Future<bool> AddFriendDialog(context) async {
    return showDialog(
        context: context,
        builder: (BuildContext ctx) {
          return AlertDialog(content: Text('친구추가'), actions: [
            FlatButton(
                onPressed: () {
                  Navigator.of(context).pop();
                },
                child: Text('확인'))
          ]);
        }).then((value) => false);
  }
반응형

'flutter' 카테고리의 다른 글

Error: Cannot set headers after they are sent to the client  (0) 2022.08.17
provider model for loop - flutter provider 빌드 순서  (0) 2022.07.30
mongoose populate  (0) 2022.07.22
mongoose subdocument  (0) 2022.07.21
mongoose db schema reference  (0) 2022.07.21