参数类型 'List<Series<dynamic, dynamic>>' 不能分配给参数类型 'List<Series<dynamic, String*>*

Posted

技术标签:

【中文标题】参数类型 \'List<Series<dynamic, dynamic>>\' 不能分配给参数类型 \'List<Series<dynamic, String*>*>*\'【英文标题】:The argument type 'List<Series<dynamic, dynamic>>' can't be assigned to the parameter type 'List<Series<dynamic, String*>*>*'参数类型 'List<Series<dynamic, dynamic>>' 不能分配给参数类型 'List<Series<dynamic, String*>*>*' 【发布时间】:2021-09-15 00:03:08 【问题描述】:

你好,我在下面的代码中遇到了错误,在小部件上

不能将参数类型“List>”分配给参数类型“List>”。

这是我的代码

    import 'package:flutter/material.dart';
    // ignore: import_of_legacy_library_into_null_safe
    import 'package:charts_flutter/flutter.dart' as charts;
    
    class SimpleBarChart extends StatelessWidget 
      final List<charts.Series> seriesList;
      final bool? animate;
    
      SimpleBarChart(this.seriesList, this.animate);
    
      factory SimpleBarChart.withSampleData() 
        return new SimpleBarChart(
          _createSampleData(),
          // Disable animations for image tests.
          animate: false,
        );
      
    
      @override
      Widget build(BuildContext context) 
        return new charts.BarChart(
          seriesList, //error this
          animate: animate,
        );
      
    
      /// Create one series with sample hard coded data.
      static List<charts.Series<OrdinalSales, String>> _createSampleData() 
        final data = [
          new OrdinalSales('2014', 5),
          new OrdinalSales('2015', 25),
          new OrdinalSales('2016', 100),
          new OrdinalSales('2017', 75),
        ];
    
        return [
          new charts.Series<OrdinalSales, String>(
            id: 'Sales',
            colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
            domainFn: (OrdinalSales sales, _) => sales.year,
            measureFn: (OrdinalSales sales, _) => sales.sales,
            data: data,
          )
        ];
      
    
    
    class OrdinalSales 
      final String year;
      final int sales;
    
      OrdinalSales(this.year, this.sales);
    

我的代码与上面的图表插件不兼容吗? 如何解决这个问题?

【问题讨论】:

【参考方案1】:

改变你的班级

class SimpleBarChart extends StatelessWidget 
  final List<charts.Series> seriesList;
  final bool animate;

到这里

class SimpleBarChart extends StatelessWidget 
  final List<charts.Series<dynamic, String>> seriesList;
  final bool? animate;

【讨论】:

以上是关于参数类型 'List<Series<dynamic, dynamic>>' 不能分配给参数类型 'List<Series<dynamic, String*>*的主要内容,如果未能解决你的问题,请参考以下文章

无法连接“<class 'numpy.ndarray'>”类型的对象;只有 Series 和 DataFrame obj 是有效的

使用泛型类型"System.Collections.Generic.List<T>"需要"1"类型参数

Flutter 参数类型 'List<dynamic>' 不能分配给参数类型 'List<Widget>'

Powershell 参数列表传递,如 -a <args list> -d <args list>

参数类型“Stream<List<ObjectModel>>”不能分配给参数类型“List<ObjectModel>”

颤振错误:参数类型“列表<动态>?”无法分配给参数类型'List<Movie>' [关闭]