как извлечь виджет с методом onPressed после обновления flutter до Flutter 2.0.4

в прошлом, когда я извлекал виджеты, в которых есть кнопка и метод onPressed

Раньше я заменял функцию обратного вызова, которую принимает метод onPressed, на переменную с типом данных Function

но теперь, когда я пытаюсь извлечь виджет, который я назвал RoundedButton после обновления версии flutter до 2.0.4, которая является последней стабильной версией flutter.

это дает мне эту ошибку:

**The argument type 'Function' can't be assigned to the parameter type 'void Function()?'.**

и это код с красной линией под onPressed: onPressed, строка кода:

      class RoundedButton extends StatelessWidget {
  final String title;
  final Color color;
  final Function onPressed;

  RoundedButton(
      {required this.onPressed, required this.color, required this.title});

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.symmetric(vertical: 16.0),
      child: Material(
        color: color,
        borderRadius: BorderRadius.all(Radius.circular(30.0)),
        elevation: 5.0,
        child: MaterialButton(
          onPressed: onPressed,
          minWidth: 200.0,
          height: 42.0,
          child: Text(
            title,
            style: TextStyle(color: Colors.white),
          ),
        ),
      ),
    );
  }
}

2 ответа

вместо старого типа, который был: `

Функция

Я выяснил, какой метод onPressed используется в flutter 2.0.4.

это `

VoidCallback?

с импортом **dart:io** библиотека

использовать final VoidCallback onPressed;//final void Function() onPressed;

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