Во Flutter Как отобразить результат StreamBuilder в Drawer

У меня есть StreamBuilder в теле моего виджета

      body: RefreshIndicator(
        onRefresh: () => _sheetDetailBloc.fetchSheetDetail(
            widget.selectedSheet, widget.selectedSheetTitle),
        child: StreamBuilder<ApiResponse<Sheet>>(
          stream: _sheetDetailBloc.sheetDetailStream,
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              switch (snapshot.data.status) {
                case Status.LOADING:
                  return Loading(loadingMessage: snapshot.data.message);
                  break;
                case Status.COMPLETED:
                  return ShowSheetDetail(displaySheet: snapshot.data.data);
                  break;
                case Status.ERROR:
                  return Error(
                    errorMessage: snapshot.data.message,
                    onRetryPressed: () => _sheetDetailBloc.fetchSheetDetail(
                        widget.selectedSheet, widget.selectedSheetTitle),
                  );
                  break;
              }

У меня есть ящик на панели приложений, где я хочу отобразить contactNoToDisp и emailIDToDisp, которые появятся после асинхронного вызова как snapshot.data.data.contactNo и snapshot.data.data.emailID.

код ящика ниже:

      endDrawer: Drawer(
          child: ListView(
        children: <Widget>[
          ListTile(
            title: Text("First Item"),
          ),
          ListTile(title: Text(contactNoForDisp)),
          ListTile(title: Text(emailIDForDisp)),
        ],
      )),

Я не уверен, как обновить две переменные класса contactNoToDisp и emailIDToDisp после возврата future / asyc, чтобы то же самое можно было отобразить в ящике

0 ответов

Другие вопросы по тегам