此函数的返回类型为“Widget”,但不以 return 语句结尾

alt*_*ve4 9 dart flutter flutter-layout

网站上有一些类似的问题,但我无法准确弥补

    Widget _buildBody(tab) {
   return BlocBuilder(
  bloc: _lessonsBloc,
  builder: (BuildContext context, LessonsState state) { //HERE 
    if (state is LessonsLoading) {
      return Center(
        child: CircularProgressIndicator(),
      );
    } else if (state is LessonsLoaded) {
          return ListView.builder(

        itemCount: state.lessons.length,
        itemBuilder: (context, index) {
          final displayedLessons = state.lessons[index];
          return ListTile(
            title: Text(displayedLessons.name),
            subtitle:Text(displayedLessons.subname),
            trailing: _buildUpdateDeleteButtons(displayedLessons),
          );
        },
      );
    }   
  },
);
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,我在 builder 所在的标题中收到警告。

如果有人提供解决方案或想法,我将不胜感激:)

Cop*_*oad 11

您需要从build()方法中返回小部件,但您错过了一个案例。

Widget _buildBody() {
  return BlocBuilder(
    bloc: _lessonsBloc,
    builder: (BuildContext context, LessonsState state) { 
      if (state is LessonsLoading) {
        return Widget1();
      } else if (state is LessonsLoaded) {
        return Widget2();
      }

      return CircularProgressIndicator(); // You missed this return statement. 
    },
  );
}
Run Code Online (Sandbox Code Playgroud)