flutter - 如何在颤振中重构?
问题描述
我对颤动很感兴趣,我不知道如何重构。
我不想在每个类中都写相同的 Dart 属性。
getAlert_1({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.INFO
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg
dialogType: DialogType.SUCCES
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.WARNING
)..show();
}
我想重构下面的代码。
context: context,
title: title,
desc: msg,
请教我怎么做。
解决方案
创建一个文件,该文件将包含一个类,该类具有返回自定义小部件的函数,您可以在整个项目中重用。
创建一个名为 customAwesomeDialog.dart 的文件。
在文件中,创建如下:
import 'package:flutter/material.dart';
class CustomAwesomeDialog {
CustomAwesomeDialog();
generateDialog(BuildContext context, String title, String description) {
return AwesomeDialog(
context: context,
title: title,
desc: description
dialogType: DialogType.SUCCES
)..show();
}
}
现在转到您要调用此小部件的任何类文件。导入上面的类。
import ‘customAwesomeDialog.dart’;
实例化类
CustomAwesomeDialog cDialog = CustomAwesomeDialog();
然后在课堂上使用它
cDialog.generateDialog(context, “Success”, “You have made it”);
推荐阅读
- ios - 使用 DCAppAttestService 生成的私钥
- python - 如何从 UI 接收用户输入,将其放在 Flask 中的 python 代码中?
- android - 活动何时可见?在 onStart() 或 onResume() 之后?
- kubernetes - 在使用 Calico 在裸机 Kubernetes 集群上遵循 OpenEBS 安装说明后无法创建 PVC
- javascript - TypeError:渲染组件时无法读取反应路由器中未定义的属性“映射”
- wpf - 在按钮单击时使用 WPF 中的验证规则进行验证
- google-bigquery - 将云存储中的文本文件 (.txt) 加载到大查询表中
- spring-boot - Spring Boot:异步方法不在单独的线程中运行
- mongodb-atlas-search - 创建 queryString $search 管道,它不仅在 MongoDB 地图集搜索中按单词边界返回结果
- ionic-framework - 如何在 android studio 中导入 ionic app v3 代码?如何运行它?