Как передать аргументы в список во флаттере? - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь построить гистограмму с накоплением, используя данные, введенные пользователем. Как передать данные через аргумент внутри createSampleData (), пожалуйста?

Я пытался преобразовать createSampleData () в функцию, но ее тип сборки не позволит мне вернуть seriesList, только виджет.

class Analyse2 extends StatefulWidget {

  final int _recipeid;
  final String _recipename;

  Analyse2(this._recipeid, this._recipename);

  @override
  AnalyseState createState() {
    return new AnalyseState();
  }
}

class AnalyseState extends State<Analyse2> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        //title: Text(widget._recipeid.toString()),
        title: Text('Analysing ' + widget._recipename),
        //backgroundColor: Colors.green,
      ),
      body: FutureBuilder(
          future: DataProvider.getRecipeIngredientsList(widget._recipeid),
          builder: (context, snapshot) {

            final ingredients = snapshot.data;

            return GroupedStackedBarChart(
        createSampleData(),
        // Disable animations for image tests.
        animate: false,
      );
          }),
    );
  }
}

Тогда вот список рассматриваемых серий:

List<charts.Series<OrdinalImpacts, String>> createSampleData(){

  final impactIngredientA = [
    new OrdinalImpacts('recipe name', 5),
  ];

  final impactIngredientB = [
    new OrdinalImpacts('recipe name', 25),
  ];

  final impactIngredientC = [
    new OrdinalImpacts('recipe name', 10),
  ];

  return [
    new charts.Series<OrdinalImpacts, String>(
      id: 'Ingredient A',
      seriesCategory: 'A',
      domainFn: (OrdinalImpacts sales, _) => sales.recipe,
      measureFn: (OrdinalImpacts sales, _) => sales.impact,
      data: impactIngredientA,
    ),
    new charts.Series<OrdinalImpacts, String>(
      id: 'Ingredient B',
      seriesCategory: 'A',
      domainFn: (OrdinalImpacts sales, _) => sales.recipe,
      measureFn: (OrdinalImpacts sales, _) => sales.impact,
      data: impactIngredientB,
    ),
    new charts.Series<OrdinalImpacts, String>(
      id: 'Ingredient C',
      seriesCategory: 'A',
      domainFn: (OrdinalImpacts sales, _) => sales.recipe,
      measureFn: (OrdinalImpacts sales, _) => sales.impact,
      data: impactIngredientC,
    ),
  ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...