首页 > 解决方案 > 如何在颤振中重构?

问题描述

我对颤动很感兴趣,我不知道如何重构。

我不想在每个类中都写相同的 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,

请教我怎么做。

标签: flutterdialogrefactoring

解决方案


创建一个文件,该文件将包含一个类,该类具有返回自定义小部件的函数,您可以在整个项目中重用。

创建一个名为 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”);


推荐阅读