Тип «Rx<DateTime>» не является подтипом типа «DateTime» в приведении типа

Я вызвал функцию showDatePicker для использования на экране регистрации. Поскольку я писал с помощью getx, я использовал obs для мгновенного отображения выбранного значения, но столкнулся с ошибкой, как показано ниже.

«тип Rx не является подтипом типа DateTime в приведенном типе».

class RegisterScreen extends GetWidget<RegisterController> {
  RegisterScreen({Key? key}) : super(key: key);
  static const routeName = "/register_screen";
  DateTime _selectedDate = DateTime.now().obs as DateTime;
  late BuildContext _context;
Obx(() => GestureDetector(
                              onTap: (() async {
                                var initialDate = DateTime.now();

                                _selectedDate = await showDatePicker(
                                      context: context,
                                      initialDate: initialDate,
                                      firstDate: DateTime(1930),
                                      lastDate: DateTime(2100),
                                    ) ??
                                    _selectedDate;
                                print(_selectedDate.toIso8601String());
                              }),
                              child: Card(
                                shape: RoundedRectangleBorder(
                                  borderRadius: BorderRadius.circular(16),
                                ),
                                child: Padding(
                                  padding: const EdgeInsets.all(12.0),
                                  child: Row(
                                    mainAxisAlignment:
                                        MainAxisAlignment.spaceBetween,
                                    children: [
                                      const Icon(
                                        FontAwesomeIcons.calendar,
                                        size: 30,
                                      ),
                                      Expanded(
                                        child: Text(
                                          DateFormat("EEE,MMM d")
                                              .format(_selectedDate),
                                          textAlign: TextAlign.center,
                                        ),
                                      ),
                                    ],
                                  ),
                                ),
                              ),
                            )),
Как настроить Tailwind CSS с React.js и Next.js?
Как настроить Tailwind CSS с React.js и Next.js?
Tailwind CSS - единственный фреймворк, который, как я убедился, масштабируется в больших командах. Он легко настраивается, адаптируется к любому...
LeetCode запись решения 2536. Увеличение подматриц на единицу
LeetCode запись решения 2536. Увеличение подматриц на единицу
Увеличение подматриц на единицу - LeetCode
Переключение светлых/темных тем
Переключение светлых/темных тем
В Microsoft Training - Guided Project - Build a simple website with web pages, CSS files and JavaScript files, мы объясняем, как CSS можно...
Отношения &quot;многие ко многим&quot; в Laravel с методами присоединения и отсоединения
Отношения &quot;многие ко многим&quot; в Laravel с методами присоединения и отсоединения
Отношения "многие ко многим" в Laravel могут быть немного сложными, но с помощью Eloquent ORM и его моделей мы можем сделать это с легкостью. В этой...
В PHP
В PHP
В большой кодовой базе с множеством различных компонентов классы, функции и константы могут иметь одинаковые имена. Это может привести к путанице и...
Карта дорог Беладжар PHP Laravel
Карта дорог Беладжар PHP Laravel
Laravel - это PHP-фреймворк, разработанный для облегчения разработки веб-приложений. Laravel предоставляет различные функции, упрощающие разработку...
1
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно изменить это:

DateTime _selectedDate = DateTime.now().obs as DateTime;

К этому:

var _selectedDate = DateTime.now().obs;

И везде используйте значение _selectedDate следующим образом:

_selectedDate.value

Проверьте это , чтобы узнать больше о GetX.

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