как извлечь виджет с методом 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;