carnoteng
carnoteng

Reputation: 29

The argument type 'List<dynamic>' can't be assigned to the parameter type 'Product'

i am trying to add the product to initial state so i can basically show it on the screen.


class _ProductListState extends State
{
  var dbHelper = DbHelper();
  late List<Product> products;
  int productCount = 0;

  @override
  void initState(){
    var productsFuture = dbHelper.getProducts();
    productsFuture.then((data){
      this.products.add(data);
    });

from dbHelper:

Future<List> getProducts() async
  {
    Database db = await this.db;
    var result = await db.query("products");
    return List.generate(result.length, (i)
    {
      return Product.fromObject(result[i]);
    });
  }

but i get an error. what should i do?

previously, code was like this:

class _ProductListState extends State
{
  var dbHelper = DbHelper();
  late List<Product> products;
  int productCount = 0;

  @override
  void initState(){
    var productsFuture = dbHelper.getProducts();
    productsFuture.then((data){
      this.products = data;
    });

  }

Upvotes: 0

Views: 42

Answers (1)

Md. Yeasin Sheikh
Md. Yeasin Sheikh

Reputation: 63769

try to provide list data type

Future<List<Product>> getProducts() async{

Upvotes: 1

Related Questions