提问人:Julian Hernandez 提问时间:7/25/2022 最后编辑:Frank van PuffelenJulian Hernandez 更新时间:7/25/2022 访问量:147
如何在 Flutter 中对这种方法进行通用调用
How to make a universal call to this method in Flutter
问:
我怎样才能对这种方法进行通用调用,我需要在另一个文件中使用它,但这对我来说是不可能的。帮我飘
void loginScreen() {
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return LoginScreen();
},
);
}
void registerScreen() {
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return RegisterScreen();
},
);
}`enter code here`
我有这个代码,我想在这里实现它
class _ButtonTextState extends State<ButtonText> {
@override
Widget build(BuildContext context) {
return TextButton(
style: ButtonStyle(
overlayColor: MaterialStateProperty.all(Colors.transparent)),
onPressed: () {
loginScreen();//Error
},
child: const Text(
"Ingresa aquí",
style: const TextStyle(color: Colors.blue, fontSize: 12),
));
}
这就是问题所在,我有一个需要重用的方法,但是我无法将其从原始文件中取出,我不知道如何导入它或进行调用
答:
0赞
DholaHardik
7/25/2022
#1
创建一个通用类,如 .并在那里添加您的对话框。utils.dart
utils.dart
class Utils {
static void loginScreen({required BuildContext context}) {
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return LoginScreen();
},
);
}
static void registerScreen({required BuildContext context}) {
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
isScrollControlled: true,
builder: (BuildContext context) {
return RegisterScreen();
},
);
}
}
//
现在,将类导入到小部件中并按如下方式使用:utils.dart
ButtonText
Utils.loginScreen(context: context);
//
class _ButtonTextState extends State<ButtonText> {
@override
Widget build(BuildContext context) {
return TextButton(
style: ButtonStyle(
overlayColor: MaterialStateProperty.all(Colors.transparent)),
onPressed: () {
Utils.loginScreen(context: context);
},
child: const Text(
"Ingresa aquí",
style: const TextStyle(color: Colors.blue, fontSize: 12),
));
}
评论