我无法在 Flutter 中使用 bloc 访问 TextEditingController

I am not able to access TextEditingController using bloc in Flutter

如何访问 TextEditingController();使用集团。这是我的代码:- 在我使用

之后

BlocProvider.of<UsernameupdateCubit>(context).nameUpdate(userUpdateController.text);

我收到一个错误 BlocProvider.of() 使用不包含 UsernameupdateCubit 的上下文调用。

请检查: 我用

final userUpdateController = TextEditingController();

然后

TextFormField(
          controller: userUpdateController,
          decoration: InputDecoration(
            labelText: "Full Name",
            border: OutlineInputBorder(),
            prefixIcon: Icon(FeatherIcons.user, size: 24),
          ),
        ),

之后使用按钮 save/sent/access 任何地方或显示在列表视图中: 按钮是:

Container(
          margin: EdgeInsets.only(top: 10),
          alignment: AlignmentDirectional.centerEnd,
          child: ElevatedButton(
            style: ElevatedButton.styleFrom(
              elevation: 1,
              primary: Color(0xff34495e),
            ),
            onPressed: () {
              // BlocProvider.of<UsernameupdateCubit>(context).nameUpdate();
              // BlocProvider.of<WeatherBloc>(context)
              BlocProvider.of<UsernameupdateCubit>(context)
                  .nameUpdate(userUpdateController.text);
            },
            child: Text(
              "Continue",
            ),
          ),
        ),

我的腕尺:

class UsernameupdateCubit extends Cubit<UsernameupdateState> {
  UsernameupdateCubit() : super(UsernameupdateState(userUpdateName: ''));

  void nameUpdate(userUpdateController) =>
      emit(UsernameupdateState(userUpdateName: userUpdateController.text));
}

状态为:

    class UsernameupdateState {
  String userUpdateName;
  UsernameupdateState({
    required this.userUpdateName,
  });
}

全部相同,但我将 BlocProvider 包括在: 使用 multibloc:

    BlocProvider(
          create: (context) => UsernameupdateCubit(),
    ),

之后我改变了我的手肘:

    void nameUpdate(userUpdateController) =>
      emit(UsernameupdateState(userUpdateName: userUpdateController));

是的,就是这样。 谢谢 - @nvoigt #nvoigt