簡體   English   中英

錯誤:無法以健全的 null 安全運行,因為以下依賴項不支持 null 安全; 在 flutter

[英]Error: Cannot run with sound null safety, because the following dependencies don't support null safety; in flutter

我做了一個BlocBuilder ,然后這個 package 不能與 null 安全datetime_picker_formfield一起運行,我混淆了如何修復錯誤和解決錯誤,這是BlocBuilder的全部代碼:

      return BlocBuilder<InputFieldBloc, InputFieldBlocState>(
        bloc: inputFieldBloc,
        builder: (context, state) {
          return DateTimeField(
            format: DateFormat("dd-MM-yyyy"),
            initialValue: state.value,
            resetIcon: null,
            onChanged: (value) {
              inputFieldBloc.updateValue(value);
            },
            onShowPicker: (context, currentValue) async {
              await showCupertinoModalPopup(
                  context: context,
                  builder: (context) {
                    return BottomSheet(
                      builder: (context) => Column(
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          Container(
                            constraints: BoxConstraints(maxHeight: 200),
                            child: CupertinoDatePicker(
                              onDateTimeChanged: (value) {
                                inputFieldBloc.updateValue;
                                 },
                            ),
                          ),
                          TextButton(onPressed: () => Navigator.pop(context), child: 
                        Text('Ok')),
                        ],
                      ),
                      onClosing: () {},
                    );
                  });
              //setState(() {});
              return value;;
            },
            decoration: InputDecoration(
              labelText: labelText,
              prefixIcon: Icon(Icons.calendar_today),
              border: OutlineInputBorder(),
            ),
          );
        }
    );

包含從依賴項導入的代碼是return DateTimeField任何人都可以解決並找到錯誤嗎? 如果您需要查看完整代碼,我需要您的幫助:

class CuppertinoDatePickerBlocBuilder extends StatelessWidget {
  CuppertinoDatePickerBlocBuilder({
    Key? key, required this.inputFieldBloc, required this.labelText,}) : super(key: key);


  //var screen = MediaQuery.of(context).size;
    DateTime value = DateTime.now();
    final InputFieldBloc<DateTime?, dynamic> inputFieldBloc;
    final String labelText;

  @override
  Widget build(BuildContext context) {

    return BlocBuilder<InputFieldBloc, InputFieldBlocState>(
        bloc: inputFieldBloc,
        builder: (context, state) {
          return DateTimeField(
            format: DateFormat("dd-MM-yyyy"),
            initialValue: state.value,
            resetIcon: null,
            onChanged: (value) {
              inputFieldBloc.updateValue(value);
            },
            onShowPicker: (context, currentValue) async {
              await showCupertinoModalPopup(
                  context: context,
                  builder: (context) {
                    return BottomSheet(
                      builder: (context) => Column(
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          Container(
                            constraints: BoxConstraints(maxHeight: 200),
                            child: CupertinoDatePicker(
                              onDateTimeChanged: (value) {
                                inputFieldBloc.updateValue;
                                 },
                            ),
                          ),
                          TextButton(onPressed: () => Navigator.pop(context), child: Text('Ok')),
                        ],
                      ),
                      onClosing: () {},
                    );
                  });
              //setState(() {});
              return value;;
            },
            decoration: InputDecoration(
              labelText: labelText,
              prefixIcon: Icon(Icons.calendar_today),
              border: OutlineInputBorder(),
            ),
          );
        }
    );
  }

在 Android 工作室中:

運行 → 編輯配置 → 添加額外的運行參數 → --no-sound-null-safety

在此處輸入圖像描述

datetime_picker_formfield啟用了 null 安全。 看來您必須更新 pubspec.yaml 中的datetime_picker_formfield pubspec.yaml版本。

最新的 nulls datetime_picker_formfield 版本是 2.0.1

例子

dependencies:
    datetime_picker_formfield: ^2.0.1

似乎您的 package 需要更新請確保在運行代碼時您的 package 應該更新

datetime_picker_formfield: ^2.0.1

如果您在代碼中遇到任何問題並且想要使用舊代碼,請在您的 pubspec yaml 中使用此 package,請點擊此命令

flutter 運行 --no-sound-null-safety

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM