Dart 2.3 for, if и распространяет предупреждающее сообщение о поддержке версий

Я получаю предупреждающее сообщение " Элементы for, if и spread не поддерживаются до версии 2.2.2, но этот код требуется для запуска в более ранних версиях ", но код

Column(   crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              if (document['propertyid'] == '1') Text('jjj'),
              GestureDetector(
                onTap: () {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                          builder: (context) =>
                              PropertyDetails(document['propertyid'])));
                },
                child: Text(document['propertyname'],
                    style: TextStyle(
                        color: Colors.blue,
                        fontStyle: FontStyle.italic,
                        fontWeight: FontWeight
                            .w500) //Theme.of(context).textTheme.title,
                    ),
              ),
            ],
  ),

работает как положено. MinSDKVersion и т.д. - 28. Почему он думает, что я хочу иметь возможность запускать этот код на любой более ранней версии? Что мне нужно изменить на более позднюю версию?

Ответ 1

В pubspec.yaml вы можете обновить вашу среду SDK, чтобы избавиться от этих предупреждений:

environment:
  sdk: ">=2.3.0 <3.0.0"

Ответ 2

Нажмите option + return в предупреждении и выберите Update the SDK constraints

enter image description here

Ответ 3

Изменение SDK на ">=2.3.0 <3.0.0" привело к другой проблеме.

enter image description here

Однако ">=2.2.2 <3.0.0" работает как шарм!